1. 程式人生 > >SpringBoot三種配置Dubbo的方式

SpringBoot三種配置Dubbo的方式

user 其它 add -s mon stat fig tex ack

*必須首先導入dubbo-starter

(1)、使用SpringBoot配置文件(application.properties或application.yml)

1 dubbo.application.name=boot-service-provider
2 dubbo.registry.address=192.168.205.128:2181
3 dubbo.registry.protocol=zookeeper
4 dubbo.protocol.name=dubbo
5 dubbo.protocol.port=20880
6 dubbo.monitor.protocol=registry
7
8 server.port=8080

(2)、使用dubbo.xml配置文件的方式

  1)、編寫xml配置文件(以服務提供者配置文件為例)

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
 4        xsi:schemaLocation
="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd"> 5 <!--1、指定當前服務/應用的名字(同樣的服務名字相同,不要和其它的服務同名)--> 6 <dubbo:application name="user-provider"/> 7 8 <!--
2、指定註冊中心的位置(註冊中心不同,服務地址的寫法不同)--> 9 <!--<dubbo:registry address="redis://192.168.205.128:6379"/>--> 10 <dubbo:registry address="zookeeper://192.168.205.128:2181"/> 11 12 <!--3、指定通信規則(通信協議&通信端口)--> 13 <dubbo:protocol name="dubbo" port="20880"/> 14 15 <!--4、聲明需要暴露的服務接口,ref屬性要指向容器中的接口實現對象--> 16 <dubbo:service ref="userService" interface="cn.coreqi.service.UserService"/> 17 18 <bean id="userService" class="cn.coreqi.service.impl.UserServiceImpl"/> 19 20 </beans>

  2)、在SpringBoot主程序啟動類上使用@ImportResource註解導入Dubbo的配置文件

 1 package cn.coreqi;
 2 
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 import org.springframework.context.annotation.ImportResource;
 6 
 7 @SpringBootApplication
 8 @ImportResource(locations = "classpath:provider.xml")
 9 public class SpringbootdubboserviceproviderApplication {
10 
11     public static void main(String[] args) {
12         SpringApplication.run(SpringbootdubboserviceproviderApplication.class, args);
13     }
14 
15 }

(3)、使用Dubbo配置類的方式

 1 package cn.coreqi.config;
 2 
 3 import com.alibaba.dubbo.config.ApplicationConfig;
 4 import com.alibaba.dubbo.config.RegistryConfig;
 5 import org.springframework.context.annotation.Bean;
 6 import org.springframework.context.annotation.Configuration;
 7 
 8 @Configuration
 9 public class MyDubboConfig {
10     @Bean
11     public ApplicationConfig applicationConfig(){
12         ApplicationConfig applicationConfig = new ApplicationConfig();
13         applicationConfig.setName("user-provider");
14         return applicationConfig;
15     }
16     @Bean
17     public RegistryConfig registryConfig(){
18         RegistryConfig registryConfig = new RegistryConfig();
19         registryConfig.setProtocol("zookeeper");
20         registryConfig.setAddress("192.168.205.128:2181");
21         return registryConfig;
22     }
23     ///其他的dubbo配置
24 }

SpringBoot三種配置Dubbo的方式