Spring boot配置Dubbo三种方式
方式一
使用注解的方式
导入dubbo-starter
在application.properties配置属性
使用@Service暴露服务
使用@Reference引用服务
使用@EnableDubbo开启注解Dubbo功能
或者配置包扫描
dubbo.scan.base-packages=com.atguigu.gmall
开启注解、包扫描,配置一个即可
这种方式
可以在@Service、@Reference注解中配置属性
属于类的配置,无法精确到方法的配置
方式二
使用dubbo的xml配置文件
导入dubbo-starter
使用@ImportResource导入dubbo的配置文件即可
@ImportResource(locations="classpath:provider.xml")
dubbo的配置文件,之前怎么写
现在还是怎么写,没有特殊要求
这种方式
可以做到方法的精确配置
方式三
使用注解API的方式
将每一个组件手动创建到容器中
让dubbo来扫描其他的组件
参考文档
http://dubbo.apache.org/zh-cn/docs/user/configuration/annotation.html
配置类示例
package com.atguigu.gmall.config;import java.util.ArrayList;
import java.util.List;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.MethodConfig;
import com.alibaba.dubbo.config.MonitorConfig;
import com.alibaba.dubbo.config.ProtocolConfig;
import com.alibaba.dubbo.config.ProviderConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.dubbo.config.ServiceConfig;
import com.atguigu.gmall.service.UserService;@Configuration
public class MyDubboConfig {//<dubbo:application name="boot-user-service-provider"></dubbo:application>@Beanpublic 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>@Beanpublic RegistryConfig registryConfig() {RegistryConfig registryConfig = new RegistryConfig();registryConfig.setProtocol("zookeeper");registryConfig.setAddress("127.0.0.1:2181");return registryConfig;}//<dubbo:protocol name="dubbo" port="20882"></dubbo:protocol>@Beanpublic ProtocolConfig protocolConfig() {ProtocolConfig protocolConfig = new ProtocolConfig();protocolConfig.setName("dubbo");protocolConfig.setPort(20882);return protocolConfig;}/***<dubbo:service interface="com.atguigu.gmall.service.UserService" ref="userServiceImpl01" timeout="1000" version="1.0.0"><dubbo:method name="getUserAddressList" timeout="1000"></dubbo:method></dubbo:service>*/@Beanpublic 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);//ProviderConfig//MonitorConfigreturn serviceConfig;}}
配置包扫描路径
可以,使用@DubboComponentScan注解
也可以,使用@EnableDubbo注解
@EnableDubbo注解
其实,里面配置的就是@DubboComponentScan注解
扫描包路径
@EnableDubbo(scanBasePackages="com.atguigu.gmall")
或者
@DubboComponentScan(basePackages ="com.atguigu.gmall")
生产者、消费者
使用@Service、@Reference注解配置
Spring boot配置Dubbo三种方式相关推荐
- maven web项目导入sts_Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式
我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...
- spring boot配置dubbo注意事项
spring boot配置dubbo注意事项 通过前两篇文章,知道了spring boot配置dubbo有两种方式.具体请回顾前两篇文章吧. 现在主要是说下spring boot在自己的applica ...
- Spring事务配置的五种方式 说明
Spring事务配置的五种方式 [转 http://blog.csdn.net/hjm4702192/article/details/17277669] Spring配置文件中关于事务配置总是由三个 ...
- Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别、不可重复读与幻读的区别
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spr ...
- Spring属性注入的三种方式(超详细)
属性注入的三种方式 使用set方法进行注入 使用有参构造函数进行注入 使用p名称空间注入 首先了解下面两个名词的含义: IOC:控制反转(Inversion of Control,缩写为IoC),是面 ...
- Spring创建Bean的三种方式的使用和区别
在学习Spring的时候,发现Spring的IOC(控制反转)为我们提供的三种创建Bean的方式. 1.Spring创建Bean的三种方式 这里采用XML配置,分别演示三种创建Bean的方式和代码. ...
- spring boot配置dubbo(XML)
上一篇写的是spring boot在自己的properties配置文件中简单配置dubbo的步骤,那种配置有很多的功能(比如超时时间.是否检查)等等,配置起来也挺麻烦的,而我们也习惯传统的那种XML形 ...
- Spring循环依赖的三种方式以及解决办法
Spring循环依赖的三种方式以及解决办法 [转]https://www.cnblogs.com/liuqing576598117/p/11227007.html 示例 https://github. ...
- spring依赖注入的三种方式以及优缺点
spring依赖注入的三种方式以及优缺点 一.依赖注入的三种方式 1.通过构造器注入.(spring4.3之后,推荐使用) 2.通过setter注入.(spring4.3之前,推荐使用) 3通过fil ...
最新文章
- Nature:2020年10大科学发现
- 用策略屏蔽135 139 445 3389端口+网络端口安全防护技
- 如何将zipoutputstream返回_excel:vlookup如何区间查找?如何使用通配符?如何多条件查找?...
- SystemUI之状态栏notification icon加载流程
- logstash的output插件
- nrm : 无法加载文件 E:\node\node_global\nrm.ps1,因为在此系统上禁止运行脚本
- OrzFAng系列–树 解题报告
- 2020 JUSTCTF F@k3 0ff1c@l REVERSE WP
- MATLAB的.fig文件打不开——有效解决
- AES加密和解密详解
- 【数据分析与可视化】Python的input和output
- 家政预约系统开发作用和步骤
- web前端开发免费教程
- RTP协议解析及H264/H265 音视频RTP打包分析
- 社会化商业的基础架构
- 前端监控SDK开发分享
- LeetCode 322. 零钱兑换***
- 如何:创建 C# 控制台应用程序
- 高低温湿热试验箱的简介
- Android学习中使用百度定位出现经度纬度:4.9E-324问题