当前位置: 首页 > news >正文

干翻Dubbo系列第七篇:@EnableDubbo、@DubboService、@DubboReference注解的作用

文章目录

文章说明

一:@EnableDubbo注解的作用

1:注解使用地点

2:注解作用

3:路径要求

4:指定路径

5:另外一种指定路径

二:@DubboService注解的作用

1:注解作用

2:使用地点

三:@DubboService注解的作用

1:注解作用

2:使用范围

3:使用地点


文章说明

本文内容整理自《孙哥说Dubbo系列视频课程》,孙帅老师课程细致、全面、深入、性价比极高。B站搜孙帅suns可以找到对应的试听视频,或者直接添加老师微信号suns45与他直接联系

一:@EnableDubbo注解的作用

1:注解使用地点

此注解是放在启动类上。

2:注解作用

用于扫描DubboService注解,并把对象的类比如UserServiceImpl实例化,发布为RPC服务。

3:路径要求

扫描的范围也是有说法的,会扫描此启动类所在的包极其子包中所有的类。

4:指定路径

基于@DubboComponentScan(basePackages = {"org.suns.service"})切换默认扫描路径即可,或者叫显示指定扫描路径

5:另外一种指定路径

application.yml当中进行配置即可。他们的效果是怎么样的呢?是一样的,取任一种即可。

dubbo:scan:base-packages:com.suns.service

@EnableDubbo注解扫描的是@DubboService注解,基于 DubboComponentScan可修改扫描路径。

今天的Consumer也有可能是别人的Provider。所以 ,启动类上都加上这注解就对了。

二:@DubboService注解的作用

1:注解作用

应用@DubboService注解修饰类型,SpringBoot会创建这个类型的对象,对象注册到Spring容器,并发布此Service为Dubbo服务


@DubboService 等同于 @Componentl@Service] @Bean注解的创建对象的作用。通过源码SingletonOblects可以验证


后续开发不仅仅要@DubboService注解,同时也要加入@Service注解,这样做是考虑兼容性。哪天咱们不用Dubbo了,直接把@EnableDubbo一去就行了,但是有@Service注解,这个Service依旧是Spring可以扫描到的一个实例对象。

2:使用地点

Service接口实现类的上。

总结:

@DubboService注解相当于:Bean标签和dubbo:service标签的组合作用

三:@DubboService注解的作用

1:注解作用

在Consumer端,通过@DubboReference,注入远端服务的代理对象
@DubboReference类似于原始Spring开发中@Autowired注解的作用

2:使用范围

主要是应用于消费者端,给消费者里边注入远端代理对象

3:使用地点

消费者某个Controller或者Service当中进行注入使用。

http://www.lryc.cn/news/106976.html

相关文章:

  • clickhouse断电重启故障解决方案
  • Spring学习笔记之Bean的实例化方式
  • JVM-类加载器
  • ChatGPT在法律行业的市场潜力
  • Python编程从入门到实践练习第三章:列表简介
  • 【Spring Boot】请求参数传json数组,后端采用(pojo)新增案例(103)
  • Redis 持久化RDB和AOF
  • 【ThinkPHP】PHP实现分页功能
  • chrome 插件开发
  • 开源MinDoc wiki系统搭建
  • pytest.ini 文件说明
  • 遥感、GIS、GPS在土壤空间数据分析、适应性评价、制图、土壤普查中怎样应用?
  • git | git使用心得记录
  • java策略模式三种实现方案
  • VMWare虚拟系统上网设置及VMWare虚拟机三种工作模式详解
  • 计算机网络(3) --- 网络套接字TCP
  • 大数据技术之Hadoop(二)
  • 运维工程师第二阶段linux基础
  • ChatGPT安全技术
  • 使用cmd查看3568主板相关
  • SpringBoot限制(限流)接口访问频率
  • 蓝桥杯,我劝你不要参加的8个完美理由
  • ChatGPT及其工作原理;OpenAI申请注册商标GPT-5,引发关注
  • [C++项目] Boost文档 站内搜索引擎(2): 文档文本解析模块parser的实现、如何对文档文件去标签、如何获取文档标题...
  • 若依框架vue使用Element 如何把当前页面的所有Table表格row.id和一个表单的16个字段内容通过js传Java后台,Java后台是如何接收的
  • 迁移学习:使用Restnet预训练模型构建高效的水果识别模型
  • 浅谈机器视觉
  • 助力保险行业数字化创新,麒麟信安参展2023中国财险科技应用高峰论坛
  • eclipse was unable to locate its companion shared library
  • 【MySQL】使用C/C++连接MySQL数据库