provider端

  1. 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>
  1. 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";
}
}
  1. 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端

  1. 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>
  1. 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;
}
}
  1. 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
  1. 测试
  • 启动zookeeper
  • 使用curl或PostMan测试服务调用
curl -X GET http://localhost:8000/api/echo/?input=test
#输出:
test: pong from service

将目录添加到github项目中

  1. 进入工作目录
  2. 执行以下命令
$ 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

参考资料

Spring Boot和Dubbo整合的更多相关文章

  1. Spring boot ,dubbo整合异常

    Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: com.guooo.boot.acc.serv ...

  2. Spring Boot 2.X整合Spring-cache,让你的网站速度飞起来

    计算机领域有人说过一句名言:“计算机科学领域的任何问题都可以通过增加一个中间层来解决”,今天我们就用Spring-cache给网站添加一层缓存,让你的网站速度飞起来. 本文目录 一.Spring Ca ...

  3. Spring Boot 2.x整合Redis

    最近在学习Spring Boot 2.x整合Redis,在这里和大家分享一下,希望对大家有帮助. Redis是什么 Redis 是开源免费高性能的key-value数据库.有以下的优势(源于Redis ...

  4. spring boot 2.0 整合 elasticsearch6.5.3,spring boot 2.0 整合 elasticsearch NoNodeAvailableException

    原文地址:spring boot 2.0 整合 elasticsearch NoNodeAvailableException 原文说的有点问题,下面贴出我的配置: 原码云项目地址:https://gi ...

  5. Spring Boot入门 and Spring Boot与ActiveMQ整合

    1.Spring Boot入门 1.1什么是Spring Boot Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级代替品.无 ...

  6. 转-Hive/Phoenix + Druid + JdbcTemplate 在 Spring Boot 下的整合

    Hive/Phoenix + Druid + JdbcTemplate 在 Spring Boot 下的整合 http://blog.csdn.net/balabalayi/article/detai ...

  7. 玩转Spring Boot 集成Dubbo

    玩转Spring Boot 集成Dubbo 使用Spring Boot 与Dubbo集成,这里我之前尝试了使用注解的方式,简单的使用注解注册服务其实是没有问题的,但是当你涉及到使用注解的时候在服务里面 ...

  8. RabbitMQ入门:在Spring Boot 应用中整合RabbitMQ

    在上一篇随笔中我们认识并安装了RabbitMQ,接下来我们来看下怎么在Spring Boot 应用中整合RabbitMQ. 先给出最终目录结构: 搭建步骤如下: 新建maven工程amqp 修改pom ...

  9. Spring boot 集成 Dubbo 快速搭建

    架构: 1.ZooKeeper:服务注册中心 2.api工程:提供对外暴露的服务API 3.provider:服务提供者 4.consumer:服务消费者 示例如下: (一)新建 Maven 项目 a ...

随机推荐

  1. SQLServer 学习笔记之超详细基础SQL语句 Part 2

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 1------------------- 建立如下数据表 CREATE ...

  2. Android Studio支持Java1.8的解决方案

    Java1.8新添了一些特性,比如对lambda表达式的支持,父类推断等等,这篇文章讲述了1.8的新特性,有兴趣的同学可以点进去看看.但是由于AndroidStudio并不能直接支持Java1.8,我 ...

  3. 如何为APK签名?

      1.用来生成应用签名的文件 ①默认: debug.keystore > debug签名的应用程序不能在Android Market上架销售,它会强制你使用自己的签名.> 不同电脑使用此 ...

  4. asp.net调用微信扫一扫功能

    1.页面引用http://res.wx.qq.com/open/js/jweixin-1.0.0.js 2.前台代码 function shaomiao() { wx.config({ debug: ...

  5. .NET、ADO.NET、ASP.NET名称解析及.NET平台架构组成

    转https://blog.csdn.net/xiaouncle/article/details/53265256 名词解释 1.Winform:Windows应用程序.桌面应用程序.C/S应用程序  ...

  6. SQLSERVER文件组误脱机后如何联机

    场景:在学习文件组的恢复过程中,通过 ALTER DATABASE TEST MODIFY FILE(NAME = SUBF,OFFLINE) 把文件组给弄脱机了.这时却发现脱机之前忘记备份了. 这时 ...

  7. python selenium爬取自如租房数据保存到TXT文件

    # -*- coding: utf-8 -*-"""Created on Fri Aug 31  2018 @author: chenlinlab"" ...

  8. JDK5 新特性之 可变参数的方法(2)---asList

    > Arrays.asList(T - a)方法的使用 >UnsupportedOperationException分析     Arrays.asList(T - a)方法的使用 pac ...

  9. unbuntu 安装python包提示E: Unable to locate package python-timeout

    今天本想着在unbuntu环境下安装python的一个包,安装了几次都提示 E: Unable to locate package python-timeout 查阅了一些信息才知道,原来是一些软件源 ...

  10. 一次gcc编译失败分析

    1. 场景: ​ 在使用gcc编译时,编译器报错:xxx:'xxx'未定义的引用 2. 排查过程: 首先,我很自然的想到是不是自己使用了未定义的函数或者将函数名称写错了,在检查了一边过后,我发现自己使 ...