dubbo--使用IDEA搭建简单的dubbo项目

dubbo--使用IDEA搭建简单的dubbo项目

    • 第一步,创建一个dubbotest名字的maven项目
    • 第二步,分别创建名字为dubbo_api,produce,consumer的module子项目
    • 第三步,分别修改pom文件
    • 第四步,分别在dubbo_api,produce,consumer的module子项目中创建java根目录和resources库
    • 第五步,在dubbo_api中创建一个接口,并在produce中实现
    • 第六步,分别在produce,consumer中创建一个类
    • 第七步,安装并开启zookeeper
    • 第八步,先后运行第六步在produce,consumer中创建的类
    • 项目列表结构如下

第一步,创建一个dubbotest名字的maven项目

  1. 选择
    dubbo--使用IDEA搭建简单的dubbo项目_第1张图片

第二步,分别创建名字为dubbo_api,produce,consumer的module子项目

  1. 在项目名上右键,点击file
    dubbo--使用IDEA搭建简单的dubbo项目_第2张图片
  2. 选择跟第一步相同的archetype
    dubbo--使用IDEA搭建简单的dubbo项目_第3张图片
  3. 下面标出的地方写出父项目名
    dubbo--使用IDEA搭建简单的dubbo项目_第4张图片

第三步,分别修改pom文件

  1. 主项目dubbotest的pom



  4.0.0

  com.qcby
  dubbotest
  pom
  1.0-SNAPSHOT
  
    produce
    dubbo_api
    consumer
  

  dubbotest
  
  http://www.example.com

  
    UTF-8
    1.7
    1.7
    0.3.0
    2.5.3
    2.8.4
    4.3.6.RELEASE
    1.8
    UTF-8
  

  
    
      com.alibaba
      dubbo
      2.5.3
      
        
          org.springframework
          spring
        
      
    
    
      com.github.sgroschupf
      zkclient
      0.1
    
    
    
      org.springframework
      spring-core
      ${spring.version}
    
    
      org.springframework
      spring-beans
      ${spring.version}
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-aop
      ${spring.version}
    
    
      org.springframework
      spring-tx
      ${spring.version}
    
    
      org.springframework
      spring-orm
      4.3.12.RELEASE
    
    
      org.springframework
      spring-context-support
      ${spring.version}
    
    
      org.springframework
      spring-test
      ${spring.version}
    
    
      org.springframework
      spring-jms
      4.2.1.RELEASE
    
    
      org.aspectj
      aspectjrt
      1.7.4
    
    
      org.aspectj
      aspectjweaver
      1.6.11
    
  

  
    
      
        
        
          maven-clean-plugin
          3.1.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.8.0
        
        
          maven-surefire-plugin
          2.22.1
        
        
          maven-jar-plugin
          3.0.2
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
        
        
          maven-site-plugin
          3.7.1
        
        
          maven-project-info-reports-plugin
          3.0.0
        
      
    
  


  1. dubbo_api的pom


    
        dubbotest
        com.qcby
        1.0-SNAPSHOT
    
    4.0.0

    dubbo_api



  1. produce的pom


    
        dubbotest
        com.qcby
        1.0-SNAPSHOT
    
    4.0.0

    produce

    
        
            com.qcby
            dubbo_api
            1.0-SNAPSHOT
            compile
        
    

  1. consumer的pom



    
        dubbotest
        com.qcby
        1.0-SNAPSHOT
    
    4.0.0

    consumer
    war

    consumer Maven Webapp
    
    http://www.example.com

    
        UTF-8
        1.7
        1.7
    

    
        
            com.qcby
            dubbo_api
            1.0-SNAPSHOT
            compile
        
    

    
        consumer
        
            
                
                    maven-clean-plugin
                    3.1.0
                
                
                
                    maven-resources-plugin
                    3.0.2
                
                
                    maven-compiler-plugin
                    3.8.0
                
                
                    maven-surefire-plugin
                    2.22.1
                
                
                    maven-war-plugin
                    3.2.2
                
                
                    maven-install-plugin
                    2.5.2
                
                
                    maven-deploy-plugin
                    2.8.2
                
            
        
    


第四步,分别在dubbo_api,produce,consumer的module子项目中创建java根目录和resources库

  1. 例如:
    dubbo--使用IDEA搭建简单的dubbo项目_第5张图片

第五步,在dubbo_api中创建一个接口,并在produce中实现

  1. 接口
package com.qcby.service;

import org.springframework.stereotype.Service;

public interface HelloService {

    void saySomething(String msg);

}

  1. 实现
package com.qcby.service.Impl;

import com.alibaba.dubbo.config.annotation.Service;
import com.qcby.service.HelloService;


public class HelloServiceImpl implements HelloService {
    @Override
    public void saySomething(String msg) {
        System.out.println(msg);
    }
}

第六步,分别在produce,consumer中创建一个类

  1. produce中的类用于链接zookeeper
package com.qcby;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;

public class ProviderTest {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:springmvc.xml");
        context.start();
        System.out.println("Dubbo provider");
        try {
            System.in.read();   // 按任意键退出
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

  1. consumer中的类用于调用实现的接口
package com.qcby;

import com.qcby.service.HelloService;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;

public class ConsumerTest {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "classpath:springmvc.xml" });

        context.start();
        HelloService demoService = (HelloService) context.getBean("helloService");

        demoService.saySomething("Hello World!");
        try {
            System.in.read();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

第七步,安装并开启zookeeper

  1. 首先下载压缩包,并在任意文件夹中解压
    在这里插入图片描述
  2. 进入zookeeper-3.4.14文件夹中的conf并将文件名字为zoo_sample.cfg的复制一份,重命名为zoo.cfg
    dubbo--使用IDEA搭建简单的dubbo项目_第6张图片
  3. 返回上一层打开bin文件夹启动名字为zkServer.cmd的文件,看到如下结果即开启成功
    dubbo--使用IDEA搭建简单的dubbo项目_第7张图片

第八步,先后运行第六步在produce,consumer中创建的类

在produce中输出如下结果即为成功
在这里插入图片描述

项目列表结构如下

dubbo--使用IDEA搭建简单的dubbo项目_第8张图片
dubbo--使用IDEA搭建简单的dubbo项目_第9张图片

你可能感兴趣的:(dubbo,idea)