使用JavaConfig方式配置dubbox


為了迎合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 示例演示

  1. 運行dubbo-demo-provider/../DemoProvider
  2. 運行dubbo-demo-consumer/../DemoJavaConfigConsumer
  3. 查看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;
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM