2020最新IDEA SpringBoot整合Dubbo(zookeeper版)

Posted 你,好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020最新IDEA SpringBoot整合Dubbo(zookeeper版)相关的知识,希望对你有一定的参考价值。

2020最新IDEA SpringBoot整合Dubbo(zookeeper版)

首先,要在电脑上安装配置好zookeeper哦~

  • 这是我云服务器上的zookeeper状态

接下来,开始整合

1. 准备一个dubbo-api的SpringBoot项目

  • 用来存储Entity类和Server接口的项目,配置文件无须改动。
    1. entity – User

      // Lombok注解 相当于Setter Getter toString()
      @Data
      public class User implements Serializable  // 序列化很重要!!!
          private static final long serialVersionUID = 7739394865008699599L; 
          private Long id;
          private String username;
          private String password;
      
      
      
    2. service – UserService

      public interface UserService 
          User getUser();
      
      

2. 准备一个dubbo-provider的SpringBoot项目(提供服务方)

  • 用来存储dubbo-api 的 Server接口 的实现类

    1. Impl – UserServiceImpl

      @DubboService(version = "1.0.0")
      public class UserServiceImpl implements UserService 
      	// 此处的User类以及UserService接口都是来自dubbo-api中,所以需要在Maven中导入dubbo-api
          @Override
          public User getUser() 
              User user = new User();
              user.setId(1L);
              user.setUsername("root");
              user.setPassword("root");
              return user;
          
      
      

  1. application.properties !!!

    server.port=8001
    ## Dubbo 服务提供者配置
    ## 名称
    dubbo.application.name=provider
    ## Dubbo 服务对象的注册中心zookeeper的地址和端口
    dubbo.registry.address=zookeeper://112.124.14.148:2181
    ## 注册中心请求超时,以毫秒为单位
    dubbo.registry.timeout=25000
    ## 用Dubbo协议
    dubbo.protocol.name=dubbo
    ## 在20880端口暴露服务
    dubbo.protocol.port=20880
    ## 包扫描范围
    dubbo.scan.base-packages=com.itzhang.Impl
    

3. 准备一个dubbo-consumer的SpringBoot项目(调用服务方)

  • 用来存Controller层

  1. controller – UserController

    @RestController
    @RequestMapping("/user")
    public class UserController 
    
        @DubboReference(version = "1.0.0")
        private UserService userService;
    
        @RequestMapping("/getUser")
        public User getUserList() 
            return userService.getUser();
        
    
    
  2. application.properties !!!

    ## 不要和provider项目端口冲突
    server.port=7001
    ## Dubbo 服务消费者配置
    dubbo.application.name=consumer
    ## Dubbo 服务对象的注册中心zookeeper的地址和端口
    dubbo.registry.address=zookeeper://112.124.14.148:2181
    ##  服务对象的被注入的包扫描范围
    dubbo.scan.base-packages=com.itzhang.controller
    ## 请求超时
    dubbo.registry.timeout=25000
    

3. 测试

  • 首先启动dubbo-provider

  • 其次启动dubbo-consumer

  • 访问dubbo-consumer中controller提供的接口。完整路径:http://localhost:7001/user/getUser,输出结果并且zookeeper中已成功注册,配置成功!

以上是关于2020最新IDEA SpringBoot整合Dubbo(zookeeper版)的主要内容,如果未能解决你的问题,请参考以下文章

idea springboot中整合jdbc连接MySQL中,Schemas中无mybatis怎么解决?

[idea] SpringBoot整合swagger2实现CRUD

SVN的安装及汉化IDEA中整合SVN使用详情[2021-11-1最新详细教学]

Java之Spring Boot入门到精通IDEA版SpringBoot整合其他框架Junit,Redis,MyBatis(一篇文章精通系列)中

如何破解intellij idea

Springboot整合ssm