1、添加Dubbo依赖(注册中心使用的是zookeeper)
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
2、配置dubbo
在application.yml(或application.properties)中配置dubbo
spring:
application:
name: dubbo-provider
dubbo:
server: true
registry: zookeeper://192.168.1.100:2181 #注册中心是zookeeper
protocol:
name: dubbo
port: 20880 #用dubbo协议在20880端口暴露服务
3、编写SpringBoot启动类
@SpringBootApplication
@EnableDubboConfiguration // 表示开启dubbo功能
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);
}
}
4、编写服务提供者service接口及其实现类
public interface UserAPI {
public int login(String username,String password);
}
@Component // 将具体的实现类加入到Spring容器中
@Service(interfaceClass = UserAPI.class) // 将该接口暴露到dubbo中
public class UserServiceImpl implements UserAPI {
@Override
public int login(String username, String password) {
// ...
}
}
1、添加Dubbo依赖,(同服务提供者部分)
2、在application.yml(或application.properties)中配置dubbo
spring:
application:
name: dubbo-consumer
dubbo:
server: true
registry: zookeeper://192.168.1.100:2181
3、编写SpringBoot启动类(同服务提供者部分)
4、编写service,复制服务提供者service接口即可。(注意:包路径必须保持一致)
5、消费者调用服务接口
RestController
public class LoginController {
@Reference(interfaceClass = UserAPI.class)
private UserAPI userAPI;
@RequestMapping(value = "login")
public ResponseVO Login(User user) { int userId = this.userAPI.login(user.getUserName(),user.getPassword());
// ..
}
}
dubbo笔记(2)—— SpringBoot整合Dubbo
原文:https://www.cnblogs.com/tianzhebuzhu/p/10105133.html