dubbo整合springboot
1.pom文件导入dubbo-starter和curator
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.8.0</version>
</dependency>
2.在启动类上加上@EnableDubbo,开启Dubbo配置
@SpringBootApplication
@EnableDubbo //开启dubbo配置
public class DubboSpringbootProviderApplication {
public static void main(String[] args) {
SpringApplication.run(DubboSpringbootProviderApplication.class, args);
}
}
3.配置文件配置服务信息
这里需要注意,spring.dubbo.server=true代表该模块是服务的提供者,spring.dubbo.registry配置的是zookeeper的IP和端口,因此启动项目的前提是要在Linux系统中开启zookeeper!
# 应用名称
spring.application.name=dubbo-springboot-provider
# 应用服务 WEB 访问端口
server.port=8081
# 设置上下文根
server.servlet.context-path=/
#dubbo配置
spring.dubbo.server=true
# 设置注册中心
spring.dubbo.registry=zookeeper://IP:2181
4.代码编写
代码编写和spring一样
服务端
@Component
@Service(interfaceClass = UserService.class,version = "2.6.0",timeout = 15000)
public class UserServiceImpl implements UserService {
@Override
public int getCount() {
//调用数据持久层
return 1024;
}
}
客户端
@Controller
public class UserController {
@Reference(interfaceClass = UserService.class,version = "2.6.0",check = false)
private UserService userService;
@RequestMapping("/count")
@ResponseBody
public String getCount(){
int count=userService.getCount();
return "当前在线的人数为:"+count;
}
}