springboot集成达博注解版的示例代码

  

工作中用springboot搭建项目,用达博做远程调用.springboot提倡注解配置和java配置,本文是基于达博最新版本2.6.3,使用注解方式的示例。
  

  

本文假定你已经有springboot和达博的使用经验。

  


  

  

达博是阿里巴巴开源的分布式服务框架,一般使用达博的RPC调用。但2016年停止维护,现在使用的2.8.4版本其实是当当维护的dubbox.2017年8月阿里又重启维护达博,并从2.5.7版本开始支持注解配置。

  


  

  

此示例使用gradle构建,关于gradle的安装配置,请参考官方文档。
  

  

管理员作为达博服务发现的基础组件,关于管理员的安装启动,请参考官方文档。
  

  

项目结构如下

        springboot-dubbo   ├─settings.gradle   ├─build.gradle   ├─springboot-dubbo-api   ││─build.gradle   │└─src   │└─主要   │└─java   │└─组织   │└─亚伦   │└─springboot   │└─达博   │└─api   │DemoService.java   ├─springboot-dubbo-consumer   ││─build.gradle   │└─src   │└─主要   │├─java   ││└─org   ││└─亚伦   ││└─springboot   ││└─达博   ││└─消费者   ││DemoController.java   ││DubboConfiguration.java   ││DubboConsumerApplication.java   ││   │└─资源   │application.yml   └─springboot-dubbo-provider   │─build.gradle   └─src   └─主要   ├─java   │└─组织   │└─亚伦   │└─springboot   │└─达博   │└─提供者   │DemoServiceImpl.java   │DubboConfiguration.java   │DubboProviderApplication.java   │   └─资源   application.yml   之前      

引入外部依赖

        编译(“com.alibaba:达博:2.6.3”)   编译(“org.apache.zookeeper:管理员:3.4.9”)   编译(“org.apache.curator: curator-framework: 4.0.0”)   编译(“org.springframework.boot: spring-boot-starter-web”)   之前      


  

  

1。生产者达博配置

        @ configuration   公开课DubboConfiguration {      @ bean   公共RegistryConfig RegistryConfig () {   RegistryConfig RegistryConfig=new RegistryConfig ();   registryConfig.setAddress(“管理员://127.0.0.1:2181”);   registryConfig.setClient(“策展人”);   返回registryConfig;   }      @ bean   公共ApplicationConfig ApplicationConfig () {   ApplicationConfig ApplicationConfig=new ApplicationConfig ();   applicationConfig.setName (“sprintboot-dubbo-provider”);   返回applicationConfig;   }      @ bean   公共ProtocolConfig ProtocolConfig () {   ProtocolConfig ProtocolConfig=new ProtocolConfig ();   protocolConfig.setPort (12021);   protocolConfig.setName(“达博”);   返回protocolConfig;   }   }      之前      

2。消费者达博配置

        @ configuration   公开课DubboConfiguration {      @ bean   公共RegistryConfig RegistryConfig () {   RegistryConfig RegistryConfig=new RegistryConfig ();   registryConfig.setAddress(“管理员://127.0.0.1:2181”);   registryConfig.setClient(“策展人”);   返回registryConfig;   }      @ bean   公共ApplicationConfig ApplicationConfig () {   ApplicationConfig ApplicationConfig=new ApplicationConfig ();   applicationConfig.setName (“sprintboot-dubbo-consumber”);   返回applicationConfig;   }      @ bean   公共ConsumerConfig ConsumerConfig () {   ConsumerConfig ConsumerConfig=new ConsumerConfig ();   consumerConfig.setTimeout (3000);   返回consumerConfig;   }   }      

3。定义接口

        公共接口DemoService {   字符串sayHello ();   }   之前      

4。生产者实现接口

        进口com.alibaba.dubbo.config.annotation.Service;      @ component   @ service (interfaceClass=DemoService。类,version=" 1.0 ")   公共类DemoServiceImpl实现DemoService {      @Override   公共字符串sayHello () {   返回“你好Springboot达博”;   }   }      之前      

5。消费者调用接口

springboot集成达博注解版的示例代码