Dubbo是Alibaba开发的一款分布式服务治理框架。spring
Dubbo的原理springboot
SpringBoot整合Dubbo服务器
整合服务提供者app
1.引入Dubbo依赖负载均衡
<!-- dubbo和springboot的整合依赖 -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
2.配置application.yml框架
dubbo:
application:
name: class_service
registry:
address: zookeeper://192.168.59.131:2181
protocol:
port: 20881
3.给提供服务的实现类上添加@Service注解(Dubbo包下的@Service注解)分布式
@Service
public class StuServiceImpl implements IStuService {
@Autowired
private StuMapper stuMapper;
}
4.启动类上配置包的扫描spring-boot
@SpringBootApplication(scanBasePackages = "com.qq")
@MapperScan("com.qq.dao")
@DubboComponentScan("com.qq.serviceimpl")
public class StuServiceApplication {
public static void main(String[] args) {
SpringApplication.run(StuServiceApplication.class, args);
}
}
整合服务的消费者
1.添加依赖
2.配置application.yml
3.注解(Dubbo包下的@Reference注解)
@Controller
@RequestMapping("/stu")
public class StuController {
@Reference
private IStuService stuService;
@Reference private IClassService classService; @RequestMapping("/list") public String list(ModelMap map){ //远程调用服务的提供者 List<Student> studentList = stuService.queryAll(); map.put("studentList",studentList); return "stulist"; }