dubbo(9)---dubbo配置与springboot整合的三种方式

SpringBoot与dubbo整合的三种方式:
 1)【注解配置】导入dubbo-starter,在application.properties配置属性,使用@Service【暴露服务】使用@Reference【引用服务】,在启动类上使用@EnableDubbo //开启基于注解的dubbo功能
 2)【XML 配置】保留dubbo xml配置文件;
       导入dubbo-starter,在启动类上使用@ImportResource(locations="classpath:provider.xml")导入dubbo的配置文件即可
 3)【API配置】使用注解API的方式:
       将每一个组件手动创建到容器中,让dubbo来扫描其他的组件,在启动类上添加@EnableDubbo(scanBasePackages="xxx.xxx.xxx"),简单示例如下:

dubbo(9)---dubbo配置与springboot整合的三种方式_第1张图片

@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 userServiceConfig(UserService userService){
		ServiceConfig 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 methods = new ArrayList<>();
		methods.add(methodConfig);
		serviceConfig.setMethods(methods);
		
		//ProviderConfig
		//MonitorConfig
		
		return serviceConfig;
	}

}
@EnableDubbo(scanBasePackages="com.wyq.gmall")
@SpringBootApplication
public class BootUserServiceProviderApplication {

	public static void main(String[] args) {
		SpringApplication.run(BootUserServiceProviderApplication.class, args);
	}
}

 

你可能感兴趣的:(dubbo(9)---dubbo配置与springboot整合的三种方式)