springBoot整合dubbo
基本步骤
- 开发dubbo接口服务,创建服务接口模块。
- 开发dubbo服务提供者。创建提供者模块。
1)加入dubbo集成springBoot的起步依赖,zookeeper注册中心客户端依赖,(mybatis和mysql依赖,springBoot集成redis依赖)dubbo服务接口模块依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>com.hzc</groupId>
<artifactId>springBoot_interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
2)在springBoot核心配置文件中配置dubbo
# 应用名称
spring.application.name=springBoot_provider
# 应用服务 WEB 访问端口
server.port=8080
spring.dubbo.server=true
spring.dubbo.registry=zookeeper://localhost:2181
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.redis.host=127.0.0.1
spring.redis.port=6379
3)编写dubbo接口实现类,并在实现类上加入@Service
注解暴露接口服务。
@com.alibaba.dubbo.config.annotation.Service(interfaceName = "com.hzc.service.GoodsService",version = "1.0")
4)在springBoot入口程序类上加开启Dubbo配置支持注解。@EnableDubboConfiguration
3. 开发dubbo服务消费者
1)加入dubbo集成springBoot框架的起步依赖,zookeeper注册中心客户端的依赖,dubbo接口服务依赖。
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.hzc</groupId>
<artifactId>springBoot_interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
2)在springBoot核心配置文件中配置dubbo
# 应用名称
spring.application.name=springBoot_consumer
# 应用服务 WEB 访问端口
server.port=8081
spring.dubbo.registry=zookeeper://localhost:2181
spring.mvc.view.suffix=.jsp
spring.mvc.view.prefix=/
3)编写controller类,调用远程的dubbo服务,在接口服务对象上加入@Reference
注解,引入接口服务。
@Reference(interfaceName = "com.hzc.service.GoodsService" ,version = "1.0")
private GoodsService goodsService;
4)在springBoot入口程序类上加开启dubbo配置支持注解。@EnableDubboConfiguration
3.测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理