SpringBoot与dubbo整合的三种方式:
1、导入dubbo-starter,在application.properties配置属性,使用@Service暴露服务,使用@Reference引用服务,
使用@EnableDubbo开启dubbo注解(或者在application.properties中配置dubbo.scan.base-packages=com.lina02.gmall)
2、保留dubbo.xml配置文件;导入dubbo-starter,使用@ImportResource导入dubbo的配置文件即可
3、使用注解API的方式:将每一个组件手动创建到容器中,让dubbo来扫描其他的组件

配置类如下:

package com.lina02.gmall.config;

import com.alibaba.dubbo.config.*;
import com.lina02.gmall.service.UserService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import java.util.ArrayList;
import java.util.List; @Configuration
public class MyDubboConfig { //<dubbo:application name="user-service-provider"></dubbo:application>
@Bean
public ApplicationConfig applicationConfig(){
ApplicationConfig applicationConfig=new ApplicationConfig();
applicationConfig.setName("boot-user-service-provider");
return applicationConfig;
} //<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181"></dubbo:registry>
@Bean
public RegistryConfig registryConfig(){
RegistryConfig registryConfig=new RegistryConfig();
registryConfig.setProtocol("zookeeper");
registryConfig.setAddress("127.0.0.1:2181");
return registryConfig;
} //<dubbo:protocol name="dubbo" port="20880"></dubbo:protocol>
@Bean
public ProtocolConfig protocolConfig(){
ProtocolConfig protocolConfig=new ProtocolConfig();
protocolConfig.setName("dubbo");
protocolConfig.setPort(20882);
return protocolConfig;
} /**
* <dubbo:service interface="com.lina02.gmall.service.UserService" ref="userServiceImpl" timeout="1000" version="1.0.0">
* <dubbo:method name="getUserAddressList" timeout="1000"></dubbo:method>
* </dubbo:service>
*/
@Bean
public ServiceConfig<UserService> userServiceServiceConfig(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); return serviceConfig;
}
}

开启dubbo扫描组件:

@DubboComponentScan(basePackages = "com.lina02.gmall")

或者

@EnableDubbo(scanBasePackages = "com.lina02.gmall")

最新文章

  1. C#中Finally的一个不太常见的用法
  2. cin, cin.getline等函数
  3. Git在Windows环境下配置Diff以及Merge工具---DiffMerge
  4. Atitit 编程语言知识点tech tree v2 attilax大总结
  5. C# ~ 由 IDisposable 到 GC
  6. NYOJ题目98成绩转换
  7. 【Gym 100712A】Who Is The Winner?
  8. 蓝牙的Baseband说明
  9. 设备、像素和点 、 9切片技术 、 颜色和外观 、 NavigationBar的美化
  10. 如何在User版本开启串口(Uart),抓取上层Log,开启输入控制台
  11. oracle中substr函数的用法
  12. Visual Studio下,打开资源视图rc文件,提示在另一个编辑器中打开
  13. 如何获取数据块结构信息dump
  14. 自己用h5写的转盘。写贴上来吧。
  15. Python 黑帽编程 4.2 Sniffer之数据本地存储和加载
  16. 并发编程(一):从头到脚解读synchronized
  17. Ubuntu 16.04 Vim安装及配置
  18. Python:Day25 成员修饰符、特殊成员、反射、单例
  19. ORACLE 从一个实例迁移到另外一个实例实战记录
  20. lch 儿童围棋课堂 启蒙篇 (李昌镐 著)

热门文章

  1. MSP430G2553需要注意的一些参数
  2. webstorm代码提示按键改为alt+/
  3. 使用idea导入远程git版本库项目
  4. codeforces 702D D. Road to Post Office(数学)
  5. luogu 3389 【模板】高斯消元
  6. Subset Sums
  7. 简单三步快速学会使用Mybatis-Generator自动生成entity实体、dao接口以及mapper映射文件(postgre使用实例)
  8. CopyOnWrite 策略
  9. hibernate 学习 五 hibernate核心接口
  10. css3单位em,rem,px,vw,vh等