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 ...
随机推荐
- 高性能JavaScript(DOM编程)
首先什么是DOM?为什么慢? DOM:文档对象模型,是一个独立于语言的,用于操作XML和HTML文档的程序接口(API) 用脚本进行DOM操作的代价很昂贵.那么,怎样才能提高程序的效率? 1.DOM访 ...
- ArcGIS Server + ArcGIS Portal 10.5
1.安装IE11 2. 域名需要在C:\Windows\System32\drivers\etc\host文件中添加 127.0.0.1 机器名.域名 win2008.smartmap.com 19 ...
- Android逆向 APK文件组成
一 了解APK文件 我们知道Android系统能运行的程序是.apk文件格式,其实它就是一个压缩包而已,把.apk修改成.zip,然后解压就可以得到该apk内部的文件结构. PS: 既然可以把apk文 ...
- 【Python】opencv显示图像
import cv2 img = cv2.imread("lena.jpg") cv2.namedWindow("Image") cv2.imshow(&quo ...
- Sqlserver数据库中,跨权限执行语句
问题来源:最近有同事需要执行批量删除语句.根据他提供的业务需求,推荐他使用“TRUNCATE TABLE”语句.但使用该语句需要 ALTER权限,这与执行用户的角色不符. 解决办法:使用EXECUTE ...
- 指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
在做通过 PL/SQL 导入Excel 数据的时候,在进行数据库连接的时候,选择DSN为Excel ,输入用户名和密码,进行Connect 出现错误“指定的 DSN 中,驱动程序和应用程序之间的体系结 ...
- svn Please execute the 'Cleanup' command. 问题解决
1由于使用svn 更新文件出错,导致svn中断,然后就一直循环出现 ‘’Please execute the 'Cleanup' command‘’ 问题: 查找网上方案 . 有使用sqlite3 ...
- Linux磁盘及分区之wwid和uuid
背景描述,在Linux系统中,如果添加了新的SCSI磁盘或者映射SAN存储LUN操作,重启操作系统之后会出现磁盘标识符(sd*)错乱的情况. 例如之前添加的SAN存储LUN的磁盘标识符为/dev/sd ...
- fedora27安装谷歌浏览器Chrome
安装 添加chrome源 #cd /etc/yum.repos.d #wget http://repo.fdzh.org/chrome/google-chrome-mirrors.repo 安装Chr ...
- xpath获取带注释的text
from lxml import etree html_str = """<div id="box1">this from blog.cs ...