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中已成功注册,配置成功!
    在这里插入图片描述

在这里插入图片描述

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值