為了迎合Spring的所有配置方式,增加了無XML配置實現,在此不對兩種方式的優劣做比較,請根據項目的使用習慣做出合理選擇。
1. 模塊描述
實現Spring的JavaConfig配置方式,使用 Main.main(args)
(需傳參javaconfig
設置使用JavaConfigContainer) 啟動時可直接掃描 dubbo.spring.javaconfig
包下的所有的Spring配置類
2. 使用示例
使用示例在dubbo-demo/dubbo-demo-consumer模塊中,相關配置方式參考 注解配置
2.1 代碼解釋
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方式啟動示例程序
2.2 示例演示
- 運行dubbo-demo-provider/../DemoProvider
- 運行dubbo-demo-consumer/../DemoJavaConfigConsumer
- 查看console輸出
3. 無XML配置
將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; } }