干翻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当中进行配置即可。他们的效果是怎么样的呢?是一样的,取任一种即可。

XML 复制代码
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当中进行注入使用。

相关推荐
Memory_荒年11 小时前
Dubbo面试通关秘籍:从“小白”到“源码大神”的终极指南
java·后端·dubbo
fy1216315 小时前
Spring Boot项目中解决跨域问题(四种方式)
spring boot·后端·dubbo
会飞的大可15 小时前
服务间通信:OpenFeign vs Dubbo 的 RPC 选型
网络协议·rpc·dubbo
Memory_荒年2 天前
Dubbo调优实战:从QPS 1000到10000的惊险过山车之旅
java·后端·dubbo
qq_297574672 天前
Dubbo 进阶文章第五篇:Dubbo 3.x高可用架构设计实战(集群+故障+灾备)
dubbo
量子炒饭大师3 天前
【C++模板进阶】——【非类型模板参数 / 模板的特化 / 模板分离编译】
开发语言·c++·dubbo·模板·非类型模板·模板的特化·模板分离编译
是2的10次方啊3 天前
Dubbo泛化调用:没有接口 Jar,为什么也能调服务?
dubbo
上海运维Q先生5 天前
K8s环境下在Pod中运行Pod中没有的命令-----nsenter
容器·kubernetes·dubbo
J_Anson6 天前
Dubbo架构深度分析
架构·dubbo
ytdbc6 天前
第一次作业
dubbo