springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)

dubbo搭建过程中,请注意各依赖版本号,如果不知道版本对应,请跟下文保持一致,否则可能出现冲突,在你看到此文章之前,请确保你的zookeeper已经搭建完毕

1.创建项目

1.创建根(root)项目

选择maven,你也可以选择spirng initializr创建 

springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第1张图片

我的父工程的名字是 dubbo_ex 根据自己的需要更改即可

springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第2张图片

创建完成之后,会得到一个只有src目录的项目,删除src(父工程不需要写代码)

pom中需要注意的注释,已经在下面代码中进行注释

给小白提一嘴:统一的包管理,1.2.3,这种标签是自定义的,不是什么标准,可以等于EL表达式的取值方式(可能是我太菜了,刚学maven,认为这种有固定的写法)

pom.xml



    4.0.0
    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.12.RELEASE
         
    
    com.fmh
    dubbo_ex
    pom
    1.0-SNAPSHOT
    
    
        dubbo-api
        procedure
        consumer
    
    
    
        8
        8
        1.8
        3.6.2
        2.7.7
        5.1.0
        5.1.0
    

    
        
            
                org.apache.dubbo
                dubbo-spring-boot-starter
                ${dubbo.version}
            

            
                org.apache.zookeeper
                zookeeper
                ${zk.version}
            

            
                org.apache.curator
                curator-framework
                ${curator.framework.version}
            
            
                org.apache.curator
                curator-recipes
                ${curator.recipes.version}
            
        
    

2.创建模块

springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第3张图片

此处你也可以选择spring init,我们选择maven工程

springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第4张图片

注意此处截图圈红的位置

springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第5张图片

 pom.xml (该pom什么也没改变,该模块无需添加dubbo等依赖)



    
        dubbo_ex
        com.fmh
        1.0-SNAPSHOT
    
    4.0.0

    dubbo-api

    
        8
        8
    

 我们在刚刚创建的模块中,随意写一个接口,如下图:

springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第6张图片

3.创建消费者 

 创建步骤跟第二步一样的步骤,不再演示,名字随意

pom.xml

你的pom文件需要修改一下引入的第二步创建的模块,下面代码中已经给出了注释,我们的名字不同



    
        dubbo_ex
        com.fmh
        1.0-SNAPSHOT
    
    4.0.0

    procedure

    
        8
        8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter
        
        
            org.apache.zookeeper
            zookeeper
        

        
        
        
            org.apache.curator
            curator-framework
        
        
        
            org.apache.curator
            curator-recipes
        

        
        
            com.fmh
            dubbo-api
            1.0-SNAPSHOT
        
        
            org.apache.dubbo
            dubbo-spring-boot-starter
        
    

 application.properties


server.port=8082
## 注册中心 zookeeper的地址
dubbo.registry.address=zookeeper://127.0.0.1:2181

dubbo.application.name=provider-ticker
# dubbo扫描的包
dubbo.scan.base-packages=com.fmh.service

dubbo.registry.timeout=20000

dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

 实现接口,注意导入的包(@Component可以替换为@Service,不过要注意引入的包是否是spring的)springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第7张图片

@Component
@DubboService(version = "1.0")
public class UserServiceImpl implements UserService {
    @Override
    public String hello(String str) {
        return str;
    }
}

springboot启动类

 这个代码就不给出了springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第8张图片

至此,服务提供者创建完毕

4.消费者模块创建

跟 2小节一样的步骤

pom.xml

注意引入自己的模块



    
        dubbo_ex
        com.fmh
        1.0-SNAPSHOT
    
    4.0.0

    consumer

    
        8
        8
    

    
        
            com.fmh
            dubbo-api
            1.0-SNAPSHOT
        
        
            org.apache.dubbo
            dubbo-spring-boot-starter
        
        
            org.springframework.boot
            spring-boot-starter
        
        
            org.apache.curator
            curator-framework
        
        
            org.apache.curator
            curator-recipes
        
        
            org.apache.zookeeper
            zookeeper

        
        
            org.springframework.boot
            spring-boot-starter-web
        

       
    

application.properties 配置文件


server.port=8083
dubbo.registry.address=zookeeper://127.0.0.1:2181

dubbo.application.name=provider-consumer

dubbo.scan.base-packages=com.fmh.controller

dubbo.registry.timeout=20000

dubbo.protocol.name=dubbo-consumer
dubbo.protocol.port=20881

创建controller

@RestController
public class UserController {

    @DubboReference(version = "1.0")
    private UserService userService;

    @GetMapping("/user")
    public String user() {
        return userService.hello("只因你太美");
    }
}

创建springboot启动类(这个代码就不需要了吧,上面有给出哦)

然后启动项目

这个提示不用管,是因为zk或者dubbo没有排除log4j的组件,不影响 

springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)_第9张图片用postman调用接口,即可看到结果

另外 dubbo-admin可以可视化看到接口注册情况,看反馈情况决定是否更新,感谢您的阅读!

如果有问题,欢迎留言 

你可能感兴趣的:(Springboot篇,java-zookeeper,dubbo,spring,boot)