学习了Dubbo,了解了dubbo相关的注解:
- @EnableDubbo
- @Service(注:这里是alibaba.dubbo包下的)
- @Reference
@EnableDubbo
@EnableDubbo=@DubboComponentScan+@EnableDubboConfig
@DubboComponentScan是对注解@Service和@Referce的识别和处理 (主要是识别这两个注解,然后实例化对应的类交给spring容器管理),
@EnableDubboConfig则是开启读取配置文件,读取我们自定义的配置信息。
总结:该注解是使用在springboot启动类上的,作用为了开启扫描Dubbo的注解,如果不使用此注解那么上面所说的Dubbo的注解(@Service,@Reference)就不能被扫描到,就没有用。
@Service
该注解使用在service包的类上,SpringBoot会实例化对象交给容器管理,并发布此Service为注册到注册中心(zookeeper,nacos)。以供dubbo通过远程调用该服务,主要用于服务端注册服务
@Reference
该注解使用在Controller包的类上,主要作用是去注册中心拿服务(前提是service服务使用@Service注解注册到服务中心,才能拿到相应的服务)具体细节是拿到服务端的代理对象,主要用于消费端消费服务。