SpringBoot 是一种快速开发框架,帮助我们快速整合第三方框架(Maven方式继承)、完全采用注解化(使用注解方式启动SpringMvc),简化XML 内置Http服务(tomcat、jetty)最终以java应用启动;

dubbot 是RPC远程调用技术中的一种框架,解决SOA架构服务于服务之间通讯的框架;​

dubbo 原理: https://blog.csdn.net/qq_33101675/article/details/78701305

目录结如下:

springboot-inteface  接口模块:   JAR

package com.ysl.inteface;public interface IndexService {  定义接口public String index();   测试方法}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.ysl</groupId><artifactId>springboot-dubbo</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>springboot-inteface</artifactId>
</project>

springboot-provider   接口实现模块: JAR   生产者

package com.ysl.service.impl;import org.springframework.stereotype.Service;import com.ysl.inteface.IndexService;@Service("indexService")  注意service注解所属包  indexService 装配名字
public class IndexServiceImpl implements IndexService {@Overridepublic String index() {// TODO Auto-generated method stubreturn "SUCCESS...";}}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.ysl</groupId><artifactId>springboot-dubbo</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>springboot-provider</artifactId><dependencies><dependency><groupId>com.ysl</groupId><artifactId>springboot-inteface</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>
</project>

application.properties

# Spring boot application
spring.application.name = dubbo-provider-demo
# Spring boot port
server.port = 9090

customer-provider-dubbo.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd"><!-- 提供方应用信息,用于计算依赖关系 --><dubbo:application name="customer-provider" /><!-- dubbo间的直连 --><dubbo:registry address="N/A" /><!-- 用dubbo协议在20880端口暴露服务 --><dubbo:protocol name="dubbo" port="20880" host="127.0.0.1" accesslog="true" /><!-- 声明需要暴露的服务接口 --><dubbo:service interface="com.ysl.inteface.IndexService" ref="indexService" version="1.0.0" /></beans>

springboot-sustomer   视图模块:  JAR    消费者

package com.ysl.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import com.ysl.inteface.IndexService;@RestController
public class IndexController {@Autowiredprivate IndexService indexService;@GetMapping("/index")public void index() {System.out.println(indexService.index());}}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.ysl</groupId><artifactId>springboot-dubbo</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>springboot-sustomer</artifactId><dependencies><dependency><groupId>com.ysl</groupId><artifactId>springboot-inteface</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>
</project>

application.properties

# Spring boot application crm-customer-consumer
spring.application.name = dubbo-consumer-demo
server.port = 8080

font-consumer-dubbo.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd"><!-- 提供方应用信息,用于计算依赖关系 --><dubbo:application name="front" /><!-- dubbo间的直连 --><dubbo:registry address="N/A" /><!-- 生成远程服务代理 --><dubbo:reference id="indexService"interface="com.ysl.inteface.IndexService" url="dubbo://127.0.0.1:20880"timeout="600000" version="1.0.0" /><!--关闭所有消费者启动时检查   --><dubbo:consumer check="false" />
</beans>

springboot-provider 模块启动类加上   加载dubbo配置

@ImportResource(locations="classpath:customer-provider-dubbo.xml")

springboot-sustomer 模块启动类加上  加载dubbo配置

@ImportResource(locations="classpath:font-consumer-dubbo.xml")

父工程pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.ysl</groupId><artifactId>springboot-dubbo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><name>springboot-dubbo</name><modules><module>springboot-inteface</module><module>springboot-sustomer</module><module>springboot-provider</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.1.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency><!-- Spring Boot Dubbo 依赖 --><dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.2.0</version></dependency></dependencies><!-- 解决依赖问题 --><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/libs-milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build></project>

收工~~~

springboot-dubbo 代码地址:

https://github.com/SK-II/springboot-dubbo

SpringBoot2.x整合Dubbo(直连模式)相关推荐

  1. SpringBoot2.0 整合 Dubbo框架 ,实现RPC服务远程调用

    一.Dubbo框架简介 1.框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层 ...

  2. 视频教程-SpringBoot2.X版本优惠券实战整合Dubbo+Rocketmq+Redis-其他

    SpringBoot2.X版本优惠券实战整合Dubbo+Rocketmq+Redis 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/ja ...

  3. Sentinel整合Dubbo限流实战

    Sentinel整合Dubbo限流实战 创建provider项目 添加jar依赖 <dependency><artifactId>sentinel-api</artifa ...

  4. Springboot整合Dubbo简单示例

    Springboot 整合dubbo: 1 简介 Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的 ...

  5. Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔 ...

  6. SpringBoot2.x 整合websocket 消息推送,单独发送信息,群发信息

    根据公司需求在SpringBoot项目中集成站内信,于是,我做了一个SpringBoot2.x 整合websocket 消息推送,给指定用户发送信息和群发信息即点点对方式和广播方式2种模式. 文章目录 ...

  7. SpringBoot2.0 整合 Redis集群 ,实现消息队列场景

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/middle-ware-parent 一.Redis集群简介 1.RedisCluster概念 Re ...

  8. Springboot 整合 Dubbo/ZooKeeper你不知道的那点事,大神必修课

    "看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔细想一想,都没有什么大不了的.这能帮助自己在遇到挫折时稳定心态,想得更开." – <腾讯 ...

  9. Spring-Boot 整合Dubbo 解决@Reference 注解为null情况

    首先检查一下你的spring boot版本是多少? 如果是2.X 不用看了,spring boot 2.x 必定会出现这个问题, 改为 1.5.9 或其他1.x版本,目前生产环境建议使用1.x版本. ...

最新文章

  1. jQuery的概念、用法、常见面试题详解
  2. 51nod1836-战忽局的手段【期望dp,矩阵乘法】
  3. React开发(149):二位数组的使用
  4. C# 将程序添加开机启动的三种方式
  5. 【CTF WEB】反序列化
  6. _mount_vendor
  7. 强大的图片浏览器---------增强、降低透明度、切换下一张
  8. python猜名词甲乙丙_用python实现了一下:甲乙两人互猜数字(数理逻辑)
  9. 离线环境安装dotnet framework nuget包
  10. CSS 块状元素和内联元素
  11. 图解think php,图解ThinkPHP5框架(三):配置类Config.php源码解读
  12. Matlab学习:读取excel中数据
  13. CBoard框架使用总结五--扩展菜单配置功能
  14. JavaScript循环刷新页面
  15. UI设计可供性解析:巧用隐藏的设计力提升用户体验
  16. SSlSocket和SSLServerSocket的学习 jks,bks的使用
  17. html怎么设置左侧内边距,CSS 内边距(Padding)
  18. 已解决IndexError: list index out of range
  19. exiftool消除元数据
  20. 关于HyperLPR车牌检测使用笔迹

热门文章

  1. 3种方法封锁BT下载 1
  2. 注册资金含有外资的公司可以申请IDC许可证吗
  3. iphone怎么添加计算机,如何在iPhone上设置铃声? iPhone如何使用iTunes添加铃声?...
  4. CentOS yum安装软件时保留安装包及依赖包或者自动下载安装包及相关依赖包
  5. win8计算机丢失xinput1+3.dll,win8提示xinput1 3.dll丢失的解决方法
  6. TED(指technology, entertainment, design在英语中的缩写,即技术、娱乐、设计)
  7. Linux下Anaconda的安装及使用教程
  8. 如何正确运用计算机,新手用机:教你如何正确使用电脑
  9. 使用达思SQL数据库修复软件导出数据库时的接收数据的数据库如何清空表数据?...
  10. EVEREST Ultimate Edition 5.50 正式版 序列号