Spring boot和dubbo整合部署到tomcat——基于注解方式
2017-11-03 14:05
681 查看
之前写过一篇类似的整合Spring boot和dubbo整合——基于传统方式。这种方式是依赖于dubbo xml配置文件的,而且不能部署到tomcat启动。
今天这篇使用了
分为三个模块,consumer(消费者)、interface(消费者和提供者依赖的共同接口)、provider(提供者),这也是咱们项目中通常的模块分隔方式。
这是在上一篇Spring Boot项目部署到Eclipse下的tomcat的代码基础上改造而成。
添加dubbo依赖
提供者、消费者pom中添加
UserServiceImpl:
实现了
SpringBootStartApplication和ControllerDemo与前一篇的代码一样,没改变。
配置文件application.properties
Consumer:
通过
SpringBootStartApplication同提供者。
配置文件application.properties
定义了一个接口,供提供者、消费者依赖。
最后发布到eclipse下的tomcat,start!
今天这篇使用了
spring-boot-starter-dubbo包,通过注解方式声明生产者和消费者,抛弃了dubbo xml配置文件,而且是部署到tomcat下启动的。下面就来看看怎么实现的吧:
项目结构
分为三个模块,consumer(消费者)、interface(消费者和提供者依赖的共同接口)、provider(提供者),这也是咱们项目中通常的模块分隔方式。
这是在上一篇Spring Boot项目部署到Eclipse下的tomcat的代码基础上改造而成。
添加dubbo依赖
提供者、消费者pom中添加
<dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <version>1.0.0</version> </dependency>
提供者
代码结构UserServiceImpl:
实现了
UserService接口,通过
@Service(version="1.0.0")声明自己是服务提供者
import com.alibaba.dubbo.config.annotation.Service; @Service(version="1.0.0") public class UserServiceImpl implements UserService { @Override public String getUserName() { System.out.println("Being invoked"); return "test user"; } }
SpringBootStartApplication和ControllerDemo与前一篇的代码一样,没改变。
配置文件application.properties
spring.dubbo.application.name=provider spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 spring.dubbo.protocol.name=dubbo spring.dubbo.protocol.port=20880 spring.dubbo.scan=com.example
消费者
代码结构Consumer:
通过
@Reference(version = "1.0.0")声明,注入提供者服务。
import com.alibaba.dubbo.config.annotation.Reference; @RestController public class Consumer { @Reference(version = "1.0.0") private UserService userService; @RequestMapping("/") String consume() { System.out.println("++++++++++++++++++++++++++"); return userService.getUserName(); } }
SpringBootStartApplication同提供者。
配置文件application.properties
spring.dubbo.application.name=consumer spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 spring.dubbo.scan=com.example
接口
代码结构定义了一个接口,供提供者、消费者依赖。
public interface UserService { public String getUserName(); }
注意
注意以下配置,否则项目可能run不起来。我是eclipse下的配置:最后发布到eclipse下的tomcat,start!
附录
项目地址:https://gitee.com/earthhour/spring-boot-demo.git相关文章推荐
- spring+sprinmvc+mybatis基本整合(二)--基于spring注解mybais非注解非Mapper接口方式
- 基于开源Dubbo分布式RPC服务框架的部署整合
- ehcache、spring框架入门整合基于mybatis sql注解方式
- Spring-Struts2两大框架整合过程介绍(基于注解方式)
- spring与hibernate整合配置基于Annotation注解方式管理实务
- 基于开源Dubbo分布式RPC服务框架的部署整合
- springboot与dubbo整合(基于注解)
- Dubbo基于注解方式的配置
- spring mvc整合freemarker基于注解方式
- jsp基于注解方式部署过滤器
- spring mvc整合freemarker基于注解方式
- Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot
- Dubbo基于注解方式的配置
- 【Rpc】基于开源Dubbo分布式RPC服务框架的部署整合
- Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot
- Dubbo基于注解方式的配置
- SSH整合时,基于注解的事务管理的配置方式
- Dubbo基于注解方式的配置
- websocket的两种实现方式:1基于注解,2与spring整合
- spring mvc整合freemarker基于注解方式