项目作者: rucky2013

项目描述 :
一个提供Dubbo功能的Spring-Boot Starter。
高级语言: Java
项目地址: git://github.com/rucky2013/Spring-boot-starter-dubbo-6.git
创建时间: 2016-12-07T03:18:40Z
项目社区:https://github.com/rucky2013/Spring-boot-starter-dubbo-6

开源协议:

下载


Spring-boot-starter-dubbo

这是什么

Spring-boot是一个全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

Spring-boot-starters是一组可以让你在构建应用时使用的方便的依赖描述符。对于某个特定技术方案它提供相对一站式的配置从而让你免去从一大堆示例中拷贝粘贴重复配置的困扰。

有什么用

这是一个Dubbo的starter,意味着你可以轻易在一个轻量级的Spring-Boot容器中获取分布式调用的能力,而不需要再创建任何的xml文件,从而加速你构建微服务和业务迭代的进程。如果你还不知道该如何使用Dubbo的话,可以先看下这里

如何使用

1. 构建和安装

  1. git clone https://github.com/leehoawki/Spring-boot-starter-dubbo.git
  2. cd Spring-boot-starter-dubbo
  3. mvn install

Spring-boot-starter-dubbo就被添加到本地的Maven仓库里了。

2. 添加依赖

首先你要有一个Spring-Boot工程,不知道怎么做的话操作这里。然后把本工程构建的依赖添加进去,

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-dubbo</artifactId>
  4. <version>1.0-SNAPSHOT</version>
  5. </dependency>

3. 发布服务

服务接口:

  1. package app;
  2. public interface AppService {
  3. String test(String str);
  4. }

在application.properties添加Dubbo信息如下:

  1. spring.dubbo.application.name=provider
  2. spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
  3. spring.dubbo.protocol.name=dubbo
  4. spring.dubbo.protocol.port=20880
  5. spring.dubbo.scan=app

在需要发布的服务实现上添加@Service注解:

  1. package app;
  2. import com.alibaba.dubbo.config.annotation.Service;
  3. @Service(version = "1.0.0")
  4. public class AppServiceImpl implements AppService {
  5. public String test(String str) {
  6. return str.toUpperCase();
  7. }
  8. }

4. 调用服务

统一在application.properties添加Dubbo配置信息:

  1. spring.dubbo.application.name=consumer
  2. spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
  3. spring.dubbo.scan=app

在需要调用的服务接口上添加@Reference注解:

  1. package app;
  2. import com.alibaba.dubbo.config.annotation.Reference;
  3. import org.springframework.web.bind.annotation.PathVariable;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RestController;
  6. @RestController
  7. public class AppController {
  8. @Reference(version = "1.0.0")
  9. private AppService appService;
  10. @RequestMapping("/api/{input}")
  11. public String echo(@PathVariable String input) {
  12. return appService.test(input);
  13. }
  14. }

分别启动服务提供者和消费者就可以了。