SpringBootとDubboの統合の3つの方法


何気なく巨牛の人工知能のチュートリアルを見つけて、思わず共有してあげました.教程は基礎がゼロで、分かりやすくて、しかもとても面白くてユーモアがあって、小説を読むようです!すごいと思って、みんなに分かち合いました.ここをクリックするとチュートリアルにジャンプできます.
先行条件(インポート依存)
(1)、dubbo-starterのインポート
		<dependency>
            <groupId>com.alibaba.bootgroupId>
            <artifactId>dubbo-spring-boot-starterartifactId>
            <version>0.2.0version>
        dependency>

(2)、dubbo導入のその他の依存SpringBootdubboを統合する3つの方法:
一、dubbo-starter依存を導入し、アプリケーションで.propertiesまたはapplication.ymlは属性を構成し、@Service【露出サービス】、@Reference【参照サービス】を使用する.
【SpringBoot起動クラスに@EnableDubboを追加して注記ベースのdubbo機能をオンにする必要がある】構成例:
#     :
#       
dubbo.application.name=dubbo-provider
#            
dubbo.registry.address=xx.xx.xx.xx:2181
dubbo.registry.protocol=zookeeper
#  dubbo  ,        8001
dubbo.protocol.name=dubbo
dubbo.protocol.port=8001
#     
dubbo.scan.base-packages=com.wangcw.dubbo.provider


#     :
dubbo.application.name=dubbo-consumer
dubbo.protocol.name=dubbo
dubbo.registry.protocol=zookeeper
dubbo.registry.address=xx.xx.xx.xx:2181
dubbo.scan.base-packages=com.wangcw.duboo.consumer


二、dubbo xmlプロファイル(provider.xmlまたはconsumer.xml)を保持する.
dubbo-starter依存をインポートし、SpringBoot起動クラスに@ImportResource注記を使用してdubboのプロファイルをインポートすればよい.
  @ImportResource(locations="classpath:provider.xml")`

三、注釈APIの使用方法:
(1)、各コンポーネントを手動でコンテナに作成し、dubboに他のコンポーネントをスキャンさせる.
@Configuration
public class MyDubboConfig {
    
    /*  */
    @Bean
    public ApplicationConfig applicationConfig() {
        ApplicationConfig applicationConfig = new ApplicationConfig();
        applicationConfig.setName("boot-user-service-provider");
        return applicationConfig;
    }
    
    /*  */
    @Bean
    public RegistryConfig registryConfig() {
        RegistryConfig registryConfig = new RegistryConfig();
        registryConfig.setProtocol("zookeeper");
        registryConfig.setAddress("127.0.0.1:2181");
        return registryConfig;
    }
    
    /*  */
    @Bean
    public ProtocolConfig protocolConfig() {
        ProtocolConfig protocolConfig = new ProtocolConfig();
        protocolConfig.setName("dubbo");
        protocolConfig.setPort(20882);
        return protocolConfig;
    }
    
    /**
     
        
     
     */
    @Bean
    public ServiceConfig<UserService> userServiceConfig(UserService userService){
        ServiceConfig<UserService> serviceConfig = new ServiceConfig<>();
        serviceConfig.setInterface(UserService.class);
        serviceConfig.setRef(userService);
        serviceConfig.setVersion("1.0.0");
        
        //     method   
        MethodConfig methodConfig = new MethodConfig();
        methodConfig.setName("getUserAddressList");
        methodConfig.setTimeout(1000);
        
        // method      service   
        List<MethodConfig> methods = new ArrayList<>();
        methods.add(methodConfig);
        serviceConfig.setMethods(methods);
        
        //MonitorConfig...
        
        return serviceConfig;
    }

}


(2)、SpringBoot起動クラスでdubboのスキャンパスを指定する
@EnableDubbo(scanBasePackages="com.xxxx.xxxxx")