SpringBoot2.0之整合Dubbo

SpringBoot2.1.3整合Dubbo2.6.0完整案例(基于IDEA) 这几天在学习Dubbo,所以整合了一些知识分享给大家。首先先介绍一下Dubbo,Dubbo是阿里巴巴公司开源的一个高性能优秀的服务治理框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。其在github上的网址为https://github.com/alibaba/dubbo-spring-boot-starter。Dubbo的主要架构如下图所示: ... 阅读详情

SpringBoot2.0之整合Dubbo

Dubbo支持协议

 Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。

 

Spring Cloud 项目feign客户端 继承依赖方式实现重构项目

 

jar: 打成jar包

pom:依赖被被人继承的 公共依赖 字符模块

war:达成一个web项目 里面包含jar包、WEB-INF

 

toov5-dubbo-parent        pom

        toov5-public-api-service        pom    提供会员接口  jar类型   pom项目没有Java代码的哦

        toov5-api-member-service 

        toov5-api-member-service-impl  会员接口实现类(这个不是公开的) (点击parent创建的,需要引入 实现的interface )

   toov5-dubbo-order-web   jar(springboot)     订单项目 调用会员项目   ps:订单调用会员时候 引入公共接口  底层调用dubbo协议 帮助实现  *(dubbo原理  拿到类的class的地址信息,反射。)

 

 

parent引入共同依赖:

<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>toov5-dubbo-parent  </groupId>
  <artifactId>dubbo-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  
  <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
	</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<curator-framework.version>4.0.1</curator-framework.version>
		<zookeeper.version>3.4.13</zookeeper.version>
		<dubbo.starter.version>0.2.0</dubbo.starter.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>com.alibaba.boot</groupId>
			<artifactId>dubbo-spring-boot-starter</artifactId>
			<version>${dubbo.starter.version}</version>
		</dependency>

		<!-- <dependency 在上面已经实现好了>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>${curator-framework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>${zookeeper.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency> -->
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
  
	<modules>
		<module>toov5-api-member-service-impl</module>
		<module>toov5-public-api-service</module>
	</modules>
</project>  

点击parent 创建 maven pom   :toov5-public-api-service (公共接口maven model)    点击 toov5-public-api-service  创建   toov5-api-member-service    jar  (写接口 interface) 

点击parent 创建 maven jar :  toov5-api-member-service-impl   并且 引入: toov5-api-member-service 的依赖 dependency

 

接口: 

package com.toov.api.member.service;

public interface MemberService {
   
    public String getUser();
    
}

实现类:

package com.toov.api.member.service.impl;

import com.alibaba.dubbo.config.annotation.Service;
import com.toov.api.member.service.MemberService;

@Service
public class MemberServiceImpl implements MemberService {

    public String getUser() {
        System.out.println("订单服务调用会员服务");
        return "订单服务调用会员服务成功";
    }
      
}

启动类:

package com.toov.api.member.service.impl;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;

@EnableDubbo
@SpringBootApplication
public class App {
  public static void main(String[] args) {
    SpringApplication.run(App.class, args);
}
}

yml:

server:
  port: 8080
dubbo:
  application:
    name: member
    #表示采用的dubbo协议
  protocol:
    name: dubbo
    #发布的端口号
    port: 20880 
  registry:
    address: zookeeper://192.168.91.5:2181

 

  

PS:如果需要写版本号的 springboot没有帮你整合  如果不需要写版本号  已经帮忙整合了

 

Dubbo发布时候 采用注解方式! 使用 @Service注解 进行发布服务

记得采用 Dubbo 而不是 spring 的注解!

区别:  spring 提供的 是注入到Spring容器中 dubbo是注册到注册中心去!

扫的实现类 注册到dubbo 注册中心中去

 

启动效果:

 

 点击parent 创建 toov5-dubbo-order-web  jar   然后引入接口依赖!

 

package toov5.order.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.dubbo.config.annotation.Reference;
import com.toov.api.member.service.MemberService;

@RestController
public class OrderController {
    @Reference  //dubbo提供的  而不是@Autowired
    private MemberService memberService;
    @RequestMapping("/orde")
    public String orderToMember() {
        return memberService.getUser();
        
    }
    
}

启动类:

package toov5.order.controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
@EnableDubbo
@SpringBootApplication
public class AppOrder {
  public static void main(String[] args) {
    SpringApplication.run(AppOrder.class, args);
}
}
 

yml

server:
  port: 8082    #tomcat端口号
###dubbo 注册服务名称
dubbo:
  application:
    name: order
  registry:
    address: zookeeper://192.168.91.5:2181
  consumer:  #调用服务的超时时间
    timeout: 5000 

 运行并且访问:

大家可以多启动几个 发布服务端口 然后 玩玩 就集群效果 我就不做展示了

 

springboot2.0.x+dubbo-spring-boot-starter dubbo官方最新springboot2.0.x集成dubbo2.6.例子(springboot+com.alibaba.boot) 立即下载

相关推荐

springboot2.0版整合dubbo即详细说明

springboot2.0版整合dubbo即详细说明.

SpringBoot整合Dubbo

下载dubbo-spring-boot-starter依赖包 将dubbo-spring-boot-starter安装到本地仓库 mvn install -Dmaven.skip.test=true 搭建Zookeeper集群 1)准备工作 安装JDK 将Zookeeper上传到服务器 解压Zookeeper,并创建data目录,将conf下的zoo_sample.cfg文件改名为zoo.cfg 建立/user/local/zookeeper-cluste.

YHJ 472

springboot整合dubbo 纯注解

springboot整合dubbo +zookeeper 纯注解小Demo,需要的小伙伴可以试试

SpringBoot2.0完美整合Dubbo

SpringBoot2.0完美整合Dubbo 现在微服务越来越普遍,基本现在的新项目基本都是采用微服务的方式,这里我们暂不讨论微服务的好处什么的,我们常见的微服务架构就是SpirngCloud,它整合了各种组件,让我们的开发确实变得非常的方便,除了SpringCloud之外,其实还有另外的一种架构风格,SpringBoot + Dubbo,那么我们今天就来说一下,SpringBoot如何集成Dubbo做微服务架构。 项目结构 我们想要开发一个完善的微服务架构,那么做好各模块...

weixin_43160251的博客 488

2026年信创系统技术应用专业人才培养基地建设方案(高职、信创新专业、人才培养、专业代码:510221)

响应国家信创产业战略及教育部新增“信创系统技术应用”专业(代码510221)的部署,联合麒麟软件、华为鸿蒙等领军企业,建设高水平信创人才培养基地。方案基于国家政策导向(如2027年央企全面国产化替代目标)和行业人才缺口(2025年缺口超80万人),提出以“产教融合、创新驱动”为核心,构建集教学、实训、认证于一体的综合性培养体系。 建设内容涵盖五大方向: 专业规划:分三阶段(2025-2030年)推进专业申报、课程开发与区域辐射,最终建成区域性信创技术创新平台。 课程体系:围绕运维、云计算、数据库、适配

啊碧根果的博客 1598

西门子博图编程:使用S7-1500冗余PLC 建立ModbusTCP通信

文章目录1.1 网络结构1.2 系统 IP 介绍1.3 Modbus TCP 通讯编程1.3.1 CPU 做服务器 1.1 网络结构 以 CPU151 7H 为例, 网络结构示意如下图所示: CPU 1517H 冗余 PLC 有 PROFINET X1 接口和 X2 接口, Modbus TCP 通讯可以将设备(例如 Standard PLC)通过交换机接入到任何网络接口中。如果接入 X1 接口,需要通过交换机接入到 MRP 环网中,但是并不需要支持 H-sync 转发。如果接入 X2 接口,只需要使

2万+

SpringBoot2.0.5整合Dubbo及MyBatis实现分布式架构

一.框架的搭建 1.由于Dubbo官方推荐使用Zookeeper作为注册中心,所以我们先搭建Zookeeper (1)在VMware中安装CentOS操作系统,这里就做介绍了,网上有很多教程。 (2)安装JDK(此步也跳过) (3)上传zookeeper-3.4.6.tar.gz到linux系统中(下载地址:http://mirrors.hust.edu.cn/apache/zookeep...

qq_36625757的博客 1816

《科研伦理与学术规范》期末考试答案2023

26单选(2 分)某学术杂志的评稿人同时是某高校相关专业的硕士生导师,在评判一个稿件的时候,他发现该作者研究的题目很有价值, 他便一边压下这个稿子,一边将稿子的纲要传给自己门下的硕士生, 指导他们使用这个题目独立写出一篇论文,并帮助他们发表在其他期 刊上。D.要善待实验动物,是指在饲养管理和使用实验动物过程中,要采取有效措施,使实验动物免遭不必要的伤害、饥渴、不适、惊恐、折磨、疾病和疼痛,保证动物能够实现自然行为,受到良好的管理与照料,为其提供清洁、舒适的生活环境。张某在压力之下不得不屈从。

Glenseeds的博客 4万+

SpringBoo 2.0 整合Dubbo实践

端午节趁着假期熟悉一下spring boot 2.0 整合 Dubbo 实现如下: 1.工程的结构如下图: 工程说明如下: 1.dubbo 工程为父工程 2.service-api 为 接口定义工程。 3.service-api-imp 为接口实现工程 4.work-service 为接口调用工程 Dbubbo工程实现如下: pom.xml 的实现如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h

houxian1103的博客 448

完美解决 mysql 报错ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded

mysql 报错ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded

xiaohua616的博客 4万+

Python量化投资入门教程:从零构建你的第一个交易策略

量化投资教程以数学模型和计算机程序实现超额收益,选用Python工具链完成数据获取、策略构建及回测。通过移动平均线交叉策略示例,展示数据预处理、信号生成、收益计算及可视化全流程,结合收益率、最大回撤和夏普比率评估策略,并建议参数优化与策略融合提升稳健性。

ylmx5201314的博客 2456

实战电商后端系统(一)—— 项目搭建以及Dubbo+SpringBoot+Oauth2+Swagger2的集成

前言 本系统技术栈用到了Dubbo、Zookeeper、SpringBoot、Oauth2、Swagger、Nginx,项目刚开始起步,没完成一个大功能都会专门写一篇博文来记录技术细节以及遇到的技术难点,如项目中有哪些设计或者架构不太正确的地方,请大家在留言区中提出,互相学习~ 光学习理论源码不动手实践是不得行的,阅读底层源码能力上来了,编码工程能力也要齐头并进!! 正文 1. 项目工程目录介绍 先声明下版本: SpringBoot: 2.1.14.RELEASE Dubbo: 2.6.2 Zookeepe

你要悄悄的拔尖,然后惊艳所有人 1909

Transformer模型详解

​本文主要介绍Transformer系列,从基础到理论,对注意力机制进行总结并解释《Attention is all you need》,提出解决sequence to sequence问题的transformer模型,用全attention的结构代替了lstm,抛弃了之前传统的encoder-decoder模型必须结合cnn或者rnn的固有模式,只用attention。文章的主要目的是在减少计算量和提高并行效率的同时不损害最终的实验结果。

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 5296

springboot 2.1.3整合dubbo 2.7.0(该文章只讲解dubbo整合,没有整合zookeeper,所以该示例项目中采用dubbo直连方式)

Dubbo重启维护可以说是IT行业的一大喜事,现在DUBBO已入驻 Apache 软件基金会孵化器,期间还有 Dubbo 3.0 的消息放出,3.0 将会是一个变革的版本,它去一切阻塞的变化甚至将影响到阿里 10 多年积累的中间件。而且Apache组织已发布重启后的第一个里程碑版本 2.7.0。本次springboot示例项目中整合也将是Apache发布的2.7.0版本。 具体也可参见官...

weixin_42315600的博客 3657

OCS2 入门教程(一)

OCS2 是专为切换系统优化控制(ptimalontrol forwitchedystems,OCS2)定制的 C++ 工具箱。该工具箱提供以下算法的高效实现:SLQ:连续时间域约束 DDPiLQR:离散时域约束 DDPSQP:基于 HPIPM 的多重打靶算法IPM: 基于非线性内点法的多重搜索算法SLP:基于 PIPG 的顺序线性规划算法OCS2 通过增强拉格朗日法(Augmented Lagrangian)或松弛障碍法(relaxed barrier methods)处理一般路径约束。

机器人控制与仿真应用 7837

【短距离通信】【WiFi】精讲WiFi 6E协议!图解超赞超详细!!!

802.11ax(HE,HighEfficiency) (Wi-Fi 6E):6G频段共有1200MHz的频谱给到WiFi 6E使用,可用于从5.925GHz到7.125GHz。WiFi将可以访问59个20MHz信道,29个40MHz信道14个80MHz信道和7个160MHz信道。这不仅代表可以有很多频道,还可以代表可以解锁更高的数据速率。因为 802.11ax 标准(Wi-Fi 6)也在 2.4GHz 和 5GHz 频段运行,所以 6GHz 频段的 Wi-Fi 将被命名为 Wi-Fi 6E。

风云说通信 2345

Spring Boot2.0与Dubbo整合

Spring Boot2.0与Dubbo整合 (本文只整合,至于对Dubbo的理解就不解释了,网上很多相关文章)        最近在练习项目时,遇到了问题,需要用到springboot与dubbo进行整合的项目,就是现在的大多数项目都是在Spring Boot1.0的基础上进行的与Dubbo的整合,我们都知道,阿里已经很久没有...

qq_42236521的博客 246

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Dubbo入门1:整合springboot+dubbo2.6.0

Dubbo入门1:springboot+dubbo2.6.0整合 目录结构 整体目录 如下图所示:整体项目是一个父子工程,common作为一个公共的module,可存放共享依赖,起到中介的作用。 provider目录

weixin_42367537的博客 662

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SpringBoot2.0整合dubbo

SpringBoot2.0整合dubbo 一、开发环境 电脑系统:Windows10 dubbo注册中心:zookeeper-3.3.6 启动成功 zookeeper可视化工具:ZooInspector 连接本地zookeeper成功 springboot版本:2.0 dubbo版本:2.6.2 二、项目目录 ...

CoderYin的博客 356

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Spring Boot 整合 Dubbo3 + Nacos 2.4.0

Nacos 作为 Dubbo 生态系统中重要的注册中心实现,本文将会介绍如何进行 Dubbo 对接 Nacos 注册中心的工作。

小天一直在路上 3006

dubbo provider异步_SpringBoot2.0 整合 Dubbo框架 ,实现RPC服务远程调用

本文源码GitHub地址:知了一笑https://github.com/cicadasmile/middle-ware-parent一、Dubbo框架简介1、框架依赖图例说明:1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层或模块,蓝色的表示与业务有交互,绿色的表示只对 Dubbo 内部交互。2)...

weixin_39802784的博客 198

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

一、Dubbo框架简介 1、框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层或模块,蓝色的表示与业务有交互,绿色的表示只对 Dubbo 内部交互。 2)图中背景方块 Consumer, Provider, Registry, Monitor 代表部署逻辑拓扑节点。 3)图中......

【积累】,是一个长期持续的过程。 2152

dubbo yml配置_SpringBoot2.0完美整合Dubbo

2019已经到了,希望我跟大家一样有一个新的开始,18年有再多的烦恼和不堪,那只是过去,接下来走好脚下的路就行了。现在微服务越来越普遍,基本现在的新项目基本都是采用微服务的方式,这里我们暂不讨论微服务的好处什么的,我们常见的微服务架构就是SpirngCloud,它整合了各种组件,让我们的开发确实变得非常的方便,除了SpringCloud之外,其实还有另外的一种架构风格,SpringBoo...

weixin_39641103的博客 512

Dubbo 3.0.3 + Nacos 2.0.3 + Spring Boot 2.3.6.RELEASE 整合及使用时遇到的问题

Dubbo 3.0.3 + Nacos 2.0.3 + spring boot 2.3.6.RELEASE 整合中遇到的问题Dubbo 3.0.3 + Nacos 2.0.3 + spring boot 2.3.6.RELEASE 整合项目框架搭建服务提供者服务消费者Duplicate class org/apache/dubbo/remoting/exchange/Exchangers.class in 2 jarDuplicate class org/apache/dubbo/common/Versio

qq_34369766的博客 5185
上一篇: Dubbo动态负载均衡(socket环境实现)
下一篇: SpringCloud与Dubbo区别
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值