dubbo笔记
dubbo可以使用配置的方式或者用注解,或者两者搭配的方式
1.springboot集成dubbo用注解的方式
第一、提供者启动类上用@EnableDubbo表示启用dubbo注解方式,这个注解会在模块启动时,去扫描dubbo的相关注解,做相应的功能
第二、@Service有两个包,一个是spring的,表示将该实现类注入到spring容器,org.springframework.stereotype.Service
另一个是dubbo的,表示将该实现类作为RPC调用,com.alibaba.dubbo.config.annotation.Service
消费方同样在启动类上用@EnableDubbo,通过RPC调用远程服务时,用dubbo的@Reference注解,com.alibaba.dubbo.config.annotation.Reference
2、springboot用配置方式
第一、提供者编写dubbo-provider.xml配置文件,名字可以随便起,配置文件中包括实现类bean的注入,和zookeeper的一些配置
第二、在启动类上用@ImpotResource("dubbo-provider.xml"),导入配置文件
消费方同样有dubbo-consumer.xml配置文件,包括对bean的引用,在消费方的启动类上用@ImpotResource("dubbo-consumer.xml"),导入配置文件即可
3、springboot混用两种方式
第一、@EnableDubbo起到的作用只是项目启动时,扫描启动类的平级路径下的dubbo相关注解,只需要在application.properties文件中配置包扫描路径即可
dubbo.scan.basePackages=com.thl.service.impl
这里注意提示是用dubbo.scan.base-packages,但是这样扫描不到,必须去掉下划线用驼峰的方式才会生效,可以自己尝试一下
第二、不使用xml配置文件,将实现类上用dubbo的@Service注解,将配置文件中的其他配置通过application.properties指定即可