dubbo框架 注解实现

dubbo注解实现我是用springboot来快速开发项目,所有的配置写在springboot的配置文件,springboot自动读取注册,但是要注意jar包的引入


  io.dubbo.springboot
  spring-boot-starter-dubbo
  1.0.0

 

这里是引入springboot的dubbo项目相关的jar包。然后就是properties文件中的配置


这里的写法是必须要统一的,只有这样的写法,springboot读取到的时候才知道是哪里用到的

基本上跟xml配置差不多的参数,最后多了一句spring.dubbo.scan 这里是声明准备提供的实现的具体位置。springboot启动的时候将会扫描这个包,所以这里的包名一定不能出错。接下来是代码中注解的部分


在实现类上加上@Service注解,注意这个service不是spring的service。一定要注意不要引入错了。

以上就是provider的注解配置的完整形态。先启动zookeeper,再启动provider项目,dubbo_admin的后台可以看到新增的生产者与服务

然后是consumer部分,先看下具体过程。


这里是代码的注解部分,只能用dubbo自带的reference。这里用autowire是没用的,因为没办法创建这个bean


这里是配置dubbo的部分。在这块有点特别重要,在服务启动的时候,dubbo注解的扫描必须要先于spring的注解,如果不做处理的话,先扫描controller注解,再扫描reference会造成项目启动没问题,但是在实现功能的时候会报service空指针。因为这个reference没有被注入到controller中去。必须要按照这个顺序启动,因为我没找到通过配置文件的方式来控制spring的扫描顺序,所以加了这个配置文件,否则直接在application.properties中声明扫描的包位置即可完成。

通过注解的方式关于dubbo 的配置基本上都差不多,就是少了服务注册的步骤,如果通过xml

方式的话,每次新注册服务都要在provider.xml中声明接口,以及实现,通过注解我们只要通过一个service注解就完成了。

在consumer.xml中也不需要声明接口了,直接在代码中用reference实现

你可能感兴趣的:(dubbo)