Spring Boot和Dubbo整合
provider端
- POM依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--interfaces-->
<dependency>
<groupId>com.lovefly</groupId>
<artifactId>pms-interfaces</artifactId>
</dependency>
<!--dubbo-->
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
</dependency>
</dependencies>
- service实现
package com.lovefly.pms.services.service;
import com.alibaba.dubbo.config.annotation.Service;
import com.lovefly.pms.interfaces.service.TestService;
@Service
public class TestServiceImpl implements TestService {
@Override
public String echo(String input) {
return input + ": pong from service";
}
}
- application.properties
#server
server.port=8001
#dubbo
spring.dubbo.registry.group=pms
spring.dubbo.application.name=pms-services
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.lovefly.pms.services.service
spring.dubbo.consumer.retries=0
spring.dubbo.consumer.timeout=30000
spring.dubbo.consumer.check=false
consumer端
- POM依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--interfaces-->
<dependency>
<groupId>com.lovefly</groupId>
<artifactId>pms-interfaces</artifactId>
</dependency>
<!--dubbo-->
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
</dependency>
</dependencies>
- consumer实现
package com.lovefly.pms.portal.controller;
import com.alibaba.dubbo.config.annotation.Reference;
import com.lovefly.pms.interfaces.service.TestService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/echo")
public class EchoController {
@Reference
private TestService echoService;
@GetMapping("")
public String echo(@RequestParam("input") String input){
String pong = echoService.echo(input);
return pong;
}
}
- application.properties
#server
server.port=8000
#dubbo
spring.dubbo.registry.group=pms
spring.dubbo.application.name=pms-portal
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.scan=com.lovefly.pms.portal
spring.dubbo.consumer.retries=0
spring.dubbo.consumer.timeout=30000
spring.dubbo.consumer.check=false
- 测试
- 启动zookeeper
- 使用curl或PostMan测试服务调用
curl -X GET http://localhost:8000/api/echo/?input=test
#输出:
test: pong from service
将目录添加到github项目中
- 进入工作目录
- 执行以下命令
$ mvn clean
$ git init
$ git add remote origin https://github.com/fuhongwei041/lovefly-pms.git
$ git branch --set-upstream-to=origin/master master
$ git pull origin master
$ # 编辑.gitignore文件
$ git add .
$ git commit -m "first commit"
项目地址为https://github.com/fuhongwei041/lovefly-pms.git
参考资料
- GIt帮助文档之创建新的Git仓库——现有目录下,通过导入所有文件来创建
- Spring Boot和Dubbo整合
- teaey: spring-boot-starter-dubbo
- alibaba: spring-boot-starter-dubbo
Spring Boot和Dubbo整合的更多相关文章
- Spring boot ,dubbo整合异常
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: com.guooo.boot.acc.serv ...
- Spring Boot 2.X整合Spring-cache,让你的网站速度飞起来
计算机领域有人说过一句名言:“计算机科学领域的任何问题都可以通过增加一个中间层来解决”,今天我们就用Spring-cache给网站添加一层缓存,让你的网站速度飞起来. 本文目录 一.Spring Ca ...
- Spring Boot 2.x整合Redis
最近在学习Spring Boot 2.x整合Redis,在这里和大家分享一下,希望对大家有帮助. Redis是什么 Redis 是开源免费高性能的key-value数据库.有以下的优势(源于Redis ...
- spring boot 2.0 整合 elasticsearch6.5.3,spring boot 2.0 整合 elasticsearch NoNodeAvailableException
原文地址:spring boot 2.0 整合 elasticsearch NoNodeAvailableException 原文说的有点问题,下面贴出我的配置: 原码云项目地址:https://gi ...
- Spring Boot入门 and Spring Boot与ActiveMQ整合
1.Spring Boot入门 1.1什么是Spring Boot Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级代替品.无 ...
- 转-Hive/Phoenix + Druid + JdbcTemplate 在 Spring Boot 下的整合
Hive/Phoenix + Druid + JdbcTemplate 在 Spring Boot 下的整合 http://blog.csdn.net/balabalayi/article/detai ...
- 玩转Spring Boot 集成Dubbo
玩转Spring Boot 集成Dubbo 使用Spring Boot 与Dubbo集成,这里我之前尝试了使用注解的方式,简单的使用注解注册服务其实是没有问题的,但是当你涉及到使用注解的时候在服务里面 ...
- RabbitMQ入门:在Spring Boot 应用中整合RabbitMQ
在上一篇随笔中我们认识并安装了RabbitMQ,接下来我们来看下怎么在Spring Boot 应用中整合RabbitMQ. 先给出最终目录结构: 搭建步骤如下: 新建maven工程amqp 修改pom ...
- Spring boot 集成 Dubbo 快速搭建
架构: 1.ZooKeeper:服务注册中心 2.api工程:提供对外暴露的服务API 3.provider:服务提供者 4.consumer:服务消费者 示例如下: (一)新建 Maven 项目 a ...
随机推荐
- Markdown 语法笔记
一.标题 markdown 中的标题用 # 表示,# 的个数表示标题级别,一级标题相当于 h1,二级标题 h2,以此类推 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### ...
- 活字格Web应用平台学习笔记 6 - 使用公式
发现学起来其实也花不了多少时间.继续学习下一节课:使用公式. 这应该会是高级一点的操作了吧,前面的几节课真是好简单好简单,简单到怀疑这是不是个技术人员该干的活,简单到怀疑人生~~ 这节课的目标: 好吧 ...
- 语义SLAM的数据关联和语义定位(一)
语义SLAM和多传感器融合是自动驾驶建图和定位部分比较热门的两种技术.语义SLAM中,语义信息的数据关联相较于特征点的数据关联有所不同.我们一般用特征描述子的相似性来匹配和关联不同图像中的特征点.特征 ...
- 学习MVC之租房网站(十一)-定时任务和云存储
学习MVC之租房网站(十一)-定时任务和云存储 在上一篇<学习MVC之租房网站(十)-预约和跟单>完成了用户的预约看房以及后台操作员对预约看房的跟单操作.接下来会做定时发邮件的功能,并且用 ...
- Android IOC注解库EasyUI
EasyUI介绍 1.使用反射机制和注解实现类似于butterknife的IOC框架 2.快速的findViewById和OnClick 3.扩展了click时无网络监测 4.扩展了快速点击监测 使用 ...
- nodejs设置NODE_ENV环境变量(2)
引的人家的,原文地址:http://sorex.cnblogs.com/p/6200940.html 环境变量 环境变量是操作系统运行环境的一些参数.在开发环境或者部署环境中都需要使用到.本文讲述了使 ...
- apache web服务器安全配置
尽管现在购买的云服务器很多都有一键web环境安装包,但是如果是自己配置web环境则需要对各种安全配置十分了解,今天我们就来尝试这做好web服务器安全配置.这里的配置不尽完善,若有纰漏之处还望指出. 修 ...
- ecsop文件结构
Ecshop文件结构 :ecshop二次开发手册,ECSHOP文件结构,ECSHOP目录详解 /*ECShop 最新程序 的结构图及各文件相应功能介绍ECShop文件结构目录┣ activity.ph ...
- 如何在 Azure 中均衡 Windows 虚拟机负载以创建具有高可用性的应用程序
负载均衡通过将传入请求分布到多个虚拟机来提供更高级别的可用性. 本教程介绍了 Azure 负载均衡器的不同组件,这些组件用于分发流量和提供高可用性. 你将学习如何执行以下操作: 创建 Azure 负载 ...
- excel如何冻结首行或首列及首行首列同时冻结
冻结首行方法: 首先选择首行,在菜单栏选择视图菜单,再选择冻结窗格下拉三角里的冻结首行即可. 效果如下:拖动垂直滚动条 冻结首列方法: 首先选择首列,在菜单栏选择视图菜单,再选择冻结窗格下拉三角里的冻 ...