dubbo和spring整合的三种方式
方式1 导入dubbo-starter,在application.properties配置属性,使用@Service暴露服务,使用@Reference引用服务
* 这种方式要开启@EnableDubbo,或者在application.properties配置文件中配置dubbo.scan.base-package=com.sqf.pkg
*
方式2 保留dubbo的xml配置文件方式,可以做到精确配置,首先导入dubbo-starter,然后只需要在启动入口处加上:
* 使用@ImportResource(locations="classpath:provider.xml")即可
* 这种方式就不需要开启@EnableDubbo注解了
*
方式3 使用注解API的方式
将每一个dubbo组件标签手动创建到容器中,在一个被@configuration的java文件中创建每一个标签的方法,使用@Bean注解加载到spring容器,然后指定扫描包的路径要包含这个java文件。
其实在dobbo的官方文档上已经介绍了:
然后我们介绍下以上三种方式:
方式1
就是我们前一个章节整合springboot使用的属性配置文件application.properties的方式
方式2
这种方式保留了dubbo的xml配置文件,可以更加精确配置方法级别参数,不需要使用application.propertis来配置dubbo,通过在启动类上加一个:
@ImportResource(locations="classpath:provider.xml")
导入资源注解的方式扫描到dubbo的配置文件。其他没有变化
方式3
此种方式在dubbo的官方文档有说明:
使用dubbo的@Service注解暴露服务
使用java的@Configuration来代替xml配置文件中的那些dubbo标签
最后不要忘记指定dubbo注解的扫描路径:
@SpringBootApplication
@DubboComponentScan(basePackages = "com.alibaba.dubbo.test.service.impl")
public class ProviderTestApp {
// ...
}