springboot2.0整合dubbo的示例代码
作者:z七夜 时间:2021-11-30 06:07:11
写在前面:
使用springboot作为web框架,方便开发许多,做分布式开发,dubbo又不可少,那么怎么整合在一起呢,
跟我学一遍,至少会用
注意,springboot2.0和springboot1.x与dubbo整合不一样,
1.环境
1.新建一个空的maven项目,作为父工程,新建moudle,,service(接口层,及实现层,没有具体分,),web(web层,springboot项目)
项目结构如下
父pom如下
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--如果要把springboot工程打包成war执行,需要该jar-->
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-legacy</artifactId>-->
<!--<version>1.0.2.RELEASE</version>-->
<!--</dependency>-->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<!--引入zookeeper的客户端工具-->
<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
</dependencies>
</dependencyManagement>
web层pom
<dependencies>
<dependency>
<groupId>com.itzmn</groupId>
<artifactId>dubbo-service</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<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>
</dependency>
<!--引入zookeeper的客户端工具-->
<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
service层
<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>
</dependency>
<!--引入zookeeper的客户端工具-->
<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
</dependencies>
2.接口设计
在service模块新建接口,
接口实现类的注解,service一定是dubbo的注解
3.配置文件
# Spring boot application
spring.application.name = /springboot-dubbo
server.port = 9099
management.port = 9091
# Service version
demo.service.version = 1.0.0
# Base packages to scan Dubbo Components (e.g @Service , @Reference)
dubbo.scan.basePackages = com.itzmn.dubbo.service.impl
# Dubbo Config properties
## ApplicationConfig Bean
dubbo.application.id = springboot-dubbo
dubbo.application.name = springboot-dubbo
## ProtocolConfig Bean
dubbo.protocol.id = dubbo
dubbo.protocol.name = dubbo
dubbo.protocol.port = 20880
## RegistryConfig Bean
dubbo.registry.id = my-registry1
dubbo.registry.address = zookeeper://47.106.64.158:2181
在web层的配置文件中,配置,即可,前提,要先安装zookeeper,才能进行服务的注册,然后启动即可
4.消费者
配置
# Spring boot application
spring.application.name = dubbo-consumer-demo
server.port = 8080
management.port = 8081
# Service Version
demo.service.version = 1.0.0
# Dubbo Config properties
## ApplicationConfig Bean
dubbo.application.id = dubbo-consumer-demo
dubbo.application.name = dubbo-consumer-demo
## ProtocolConfig Bean
dubbo.protocol.id = dubbo
dubbo.protocol.name = dubbo
dubbo.protocol.port = 12345
只需将服务提供者的接口jar包引入,然后注入服务即可
注意,springboot2.0和springboot1.x与dubbo整合不一样,
来源:https://www.jianshu.com/p/226df7409641
标签:spring,boot,dubbo
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
JUC系列学习工具类CountDownLatch详解
2023-10-01 12:19:23
![](https://img.aspxhome.com/file/2023/8/66988_0s.png)
Maven的几个常用plugin
2021-12-05 13:36:28
使用栈的迷宫算法java版代码
2022-03-07 12:47:16
C# Winform实现圆角无锯齿按钮
2022-08-30 01:11:56
![](https://img.aspxhome.com/file/2023/1/68611_0s.png)
解决maven没有打包xml文件的问题
2023-11-27 14:51:01
java整合SSM框架的图文教程
2023-03-11 01:06:30
![](https://img.aspxhome.com/file/2023/8/67168_0s.jpg)
Java中try、catch的使用方法
2021-11-08 00:48:12
![](https://img.aspxhome.com/file/2023/6/77046_0s.png)
Java中Prime算法的原理与实现详解
2022-06-11 23:16:29
![](https://img.aspxhome.com/file/2023/7/63667_0s.png)
java POI解析Excel 之数据转换公用方法(推荐)
2023-06-10 11:04:53
详解Struts2拦截器机制
2022-03-12 23:20:52
![](https://img.aspxhome.com/file/2023/8/77358_0s.png)
字符串替换Replace仅替换第一个字符串匹配项
2021-10-02 17:36:56
详解spring boot引入外部jar包的坑
2021-07-29 10:49:49
![](https://img.aspxhome.com/file/2023/4/61314_0s.jpg)
Java 8 Function函数式接口及函数式接口实例
2022-04-13 14:55:05
java实现简单的webservice方式
2023-11-25 03:59:58
![](https://img.aspxhome.com/file/2023/9/58989_0s.jpg)
C#线性渐变画刷LinearGradientBrush用法实例
2022-01-21 05:29:43
Java实现在PPT中创建SmartArt图形的示例代码
2022-01-16 06:22:52
![](https://img.aspxhome.com/file/2023/3/62343_0s.jpg)
Gson之toJson和fromJson方法的具体使用
2021-07-20 16:28:47
![](https://img.aspxhome.com/file/2023/2/75512_0s.png)
Java提示缺少返回语句的解决办法
2021-08-04 19:42:03
![](https://img.aspxhome.com/file/2023/3/66023_0s.png)
mybatis 传入null值的解决方案
2023-11-23 06:54:44
![](https://img.aspxhome.com/file/2023/5/59775_0s.png)
MyBatis学习教程(五)-实现关联表查询方法详解
2021-06-23 21:04:04
![](https://img.aspxhome.com/file/2023/9/74979_0s.png)