首先,要在电脑上安装配置好zookeeper哦~
这是我云服务器上的zookeeper状态
接下来,开始整合
1. 准备一个dubbo-api的SpringBoot项目
用来存储Entity类和Server接口的项目,配置文件无须改动。
entity – User
// Lombok注解 相当于Setter Getter toString()@Datapublic class User implements Serializable { // 序列化很重要!!! private static final long serialVersionUID = 7739394865008699599L; private Long id; private String username; private String password;}service – UserService
public interface UserService { User getUser();}2. 准备一个dubbo-provider的SpringBoot项目(提供服务方)
用来存储dubbo-api 的 Server接口 的实现类
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; }}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.Impl3. 准备一个dubbo-consumer的SpringBoot项目(调用服务方)
用来存Controller层
controller – UserController
@RestController@RequestMapping("/user")public class UserController { @DubboReference(version = "1.0.0") private UserService userService; @RequestMapping("/getUser") public User getUserList() { return userService.getUser(); }}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=250003. 测试
首先启动dubbo-provider
其次启动dubbo-consumer
访问dubbo-consumer中controller提供的接口。完整路径:http://localhost:7001/user/getUser,输出结果并且zookeeper中已成功注册,配置成功!
到此这篇关于2020最新IDEA SpringBoot整合Dubbo(zookeeper版)的文章就介绍到这了,更多相关IDEA SpringBoot整合Dubbo内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!