作者:马金凯
文档版权: Apache 2.0许可证 署名-禁止演绎
为了迎合Spring的所有配置方式,增加了无XML配置实现,在此不对两种方式的优劣做比较,请根据项目的使用习惯做出合理选择。
实现Spring的JavaConfig配置方式,使用 Main.main(args)
(需传参javaconfig
设置使用JavaConfigContainer) 启动时可直接扫描 dubbo.spring.javaconfig
包下的所有的Spring配置类
使用示例在dubbo-demo/dubbo-demo-consumer模块中,相关配置方式参考 注解配置
dubbo-demo-consumer/../DubboDemoConsumerConfig
等同于 dubbo-demo-consumer/../dubbo-demo-consumer.xml
dubbo-demo-consumer/../DubboDemoActionConfig
等同于 dubbo-demo-consumer/../dubbo-demo-action.xml
dubbo-demo-consumer/../DemoJavaConfigAction
等同于 dubbo-demo-consumer/../DemoAction
dubbo-demo-consumer/../DemoJavaConfigConsumer
以JavaConfig方式启动示例程序将XML配置方式转换为JavaConfig配置,demo中未涉及到的配置类,请参照 API配置 实现
@Configuration
public class DubboDemoConsumerConfig {
public static final String APPLICATION_NAME = "consumer-of-helloworld-app";
public static final String REGISTRY_ADDRESS = "zookeeper://127.0.0.1:2181";
public static final String ANNOTATION_PACKAGE = "com.alibaba.dubbo.demo.consumer";
@Bean
public ApplicationConfig applicationConfig() {
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName(APPLICATION_NAME);
return applicationConfig;
}
@Bean
public RegistryConfig registryConfig() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress(REGISTRY_ADDRESS);
return registryConfig;
}
@Bean
public AnnotationBean annotationBean() {
AnnotationBean annotationBean = new AnnotationBean();
annotationBean.setPackage(ANNOTATION_PACKAGE);
return annotationBean;
}
}