方式一

使用注解的方式

导入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三种方式相关推荐

  1. maven web项目导入sts_Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...

  2. spring boot配置dubbo注意事项

    spring boot配置dubbo注意事项 通过前两篇文章,知道了spring boot配置dubbo有两种方式.具体请回顾前两篇文章吧. 现在主要是说下spring boot在自己的applica ...

  3. Spring事务配置的五种方式 说明

    Spring事务配置的五种方式  [转 http://blog.csdn.net/hjm4702192/article/details/17277669] Spring配置文件中关于事务配置总是由三个 ...

  4. Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别、不可重复读与幻读的区别

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spr ...

  5. Spring属性注入的三种方式(超详细)

    属性注入的三种方式 使用set方法进行注入 使用有参构造函数进行注入 使用p名称空间注入 首先了解下面两个名词的含义: IOC:控制反转(Inversion of Control,缩写为IoC),是面 ...

  6. Spring创建Bean的三种方式的使用和区别

    在学习Spring的时候,发现Spring的IOC(控制反转)为我们提供的三种创建Bean的方式. 1.Spring创建Bean的三种方式 这里采用XML配置,分别演示三种创建Bean的方式和代码. ...

  7. spring boot配置dubbo(XML)

    上一篇写的是spring boot在自己的properties配置文件中简单配置dubbo的步骤,那种配置有很多的功能(比如超时时间.是否检查)等等,配置起来也挺麻烦的,而我们也习惯传统的那种XML形 ...

  8. Spring循环依赖的三种方式以及解决办法

    Spring循环依赖的三种方式以及解决办法 [转]https://www.cnblogs.com/liuqing576598117/p/11227007.html 示例 https://github. ...

  9. spring依赖注入的三种方式以及优缺点

    spring依赖注入的三种方式以及优缺点 一.依赖注入的三种方式 1.通过构造器注入.(spring4.3之后,推荐使用) 2.通过setter注入.(spring4.3之前,推荐使用) 3通过fil ...

最新文章

  1. Nature:2020年10大科学发现
  2. 用策略屏蔽135 139 445 3389端口+网络端口安全防护技
  3. 如何将zipoutputstream返回_excel:vlookup如何区间查找?如何使用通配符?如何多条件查找?...
  4. SystemUI之状态栏notification icon加载流程
  5. logstash的output插件
  6. nrm : 无法加载文件 E:\node\node_global\nrm.ps1,因为在此系统上禁止运行脚本
  7. OrzFAng系列–树 解题报告
  8. 2020 JUSTCTF F@k3 0ff1c@l REVERSE WP
  9. MATLAB的.fig文件打不开——有效解决
  10. AES加密和解密详解
  11. 【数据分析与可视化】Python的input和output
  12. 家政预约系统开发作用和步骤
  13. web前端开发免费教程
  14. RTP协议解析及H264/H265 音视频RTP打包分析
  15. 社会化商业的基础架构
  16. 前端监控SDK开发分享
  17. LeetCode 322. 零钱兑换***
  18. 如何:创建 C# 控制台应用程序
  19. 高低温湿热试验箱的简介
  20. Android学习中使用百度定位出现经度纬度:4.9E-324问题

热门文章

  1. 04_Struts2标签
  2. seaJS简介和完整实例
  3. 000-SQL Server
  4. HDU 4630 No Pain No Game 树状数组+离线操作
  5. FreeRTOS 中断优先级嵌套错误引发HardFault异常解决
  6. 分区表的本地索引竟然失效了——ORA-01502
  7. 写程序时,经常要重载OnPaint,定位很麻烦,现在有个简单办法
  8. 关于IAR的一些总结 -- ARM调试和Flash调试的区别
  9. linux ls错误,ls错误
  10. C++ Primer 5th笔记(chap 19 特殊工具与技术)局部类