当前位置: 首页 > news >正文

Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程

Redisson是一个高性能的 Java Redis 客户端,提供了丰富的分布式工具集,如分布式锁、Map、Queue 等,帮助开发者简化 Redis 的操作。在集成Redisson到项目时,开发者通常有两种选择:

  1. 使用Redisson 原始依赖
  2. 使用Redisson Spring Boot Starter

这篇文章将详细介绍这两种集成方式的配置、使用场景以及它们的差异,帮助你更好地理解并选择合适的方案。

1. 使用 Redisson 原始依赖

Redisson 原始依赖的方式指的是直接使用redisson库,并自行配置RedissonClient来与 Redis 进行交互。这种方法适用于任何 Java 项目,包括 Spring、非 Spring 项目。

使用步骤
1.1 引入依赖

pom.xml中添加 Redisson 依赖:

<dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.16.5</version> <!-- 版本号可根据需求调整 --> </dependency>
1.2 创建配置类并初始化RedissonClient

手动定义Config对象,并创建RedissonClient实例:

import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; public class RedisConfig { public RedissonClient createRedissonClient() { // 创建 Redisson 配置对象 Config config = new Config(); // 设置为单节点配置 config.useSingleServer() .setAddress("redis://127.0.0.1:6379") .setPassword("yourPassword"); // 创建 RedissonClient 实例 return Redisson.create(config); } }
1.3 使用RedissonClient

在业务代码中使用RedissonClient

public class RedissonExample { public static void main(String[] args) { RedisConfig redisConfig = new RedisConfig(); RedissonClient redissonClient = redisConfig.createRedissonClient(); // 使用 Redisson 获取分布式锁 var lock = redissonClient.getLock("testLock"); lock.lock(); try { // 模拟业务逻辑 System.out.println("Lock acquired and executing critical section."); } finally { lock.unlock(); } } }
特点
  • 手动配置:手动定义Config对象并配置RedissonClient,可以完全控制连接参数、池大小、超时等。
  • 适用于非 Spring 环境:这种方式并不依赖 Spring,可以应用于任何 Java 项目。
  • 灵活性强:可以根据具体需求实现自定义逻辑和配置。
使用场景
  • 项目对 Spring 依赖不多,或完全不使用 Spring。
  • 需要对RedissonClient的每个细节进行精细控制。

2. 使用 Redisson Spring Boot Starter

redisson-spring-boot-starterRedisson提供的用于与 Spring Boot 更好集成的模块,它提供了自动化的配置功能,使得RedissonClient的配置过程更加简洁。

使用步骤
2.1 引入依赖

pom.xml中添加redisson-spring-boot-starter依赖:

<dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.16.5</version> <!-- 版本号可以根据需求调整 --> </dependency>
2.2 在application.ymlapplication.properties中配置 Redis 信息

application.yml中配置 Redis:

redisson: singleServerConfig: address: "redis://127.0.0.1:6379" password: "yourPassword" connectionPoolSize: 10 connectionMinimumIdleSize: 2
2.3 使用RedissonClient自动注入

Spring Boot 会自动配置RedissonClient,因此你可以直接注入并使用它:

import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class RedissonController { @Autowired private RedissonClient redissonClient; @GetMapping("/lock") public String acquireLock() { var lock = redissonClient.getLock("testLock"); lock.lock(); try { // 模拟业务逻辑 return "Lock acquired and critical section executed."; } finally { lock.unlock(); } } }
特点
  • 自动化配置redisson-spring-boot-starter能从 Spring Boot 配置文件中读取参数并自动创建RedissonClient
  • 与 Spring Boot 紧密集成:无需手动管理RedissonClient,更加符合 Spring Boot 的自动化特性。
  • 方便注入:可以通过@Autowired轻松地注入RedissonClient,非常符合 Spring 的开发风格。
使用场景
  • 使用 Spring Boot 项目,并且希望最大化利用 Spring Boot 的自动配置特性。
  • 希望简化代码、减少配置工作量。

两种方式的对比

特性

原始 Redisson 依赖

Redisson Spring Boot Starter

配置方式

手动创建ConfigRedissonClient

使用application.yml自动配置

适用项目类型

任何 Java 项目,包括非 Spring 项目

适用于 Spring Boot 项目

灵活性

配置灵活,细节控制全面

依赖自动配置,灵活性稍低

代码复杂度

需要手动编写配置类

自动配置,代码量少,集成简单

与 Spring 的集成

需手动管理,适用于传统 Java 项目

Spring Boot 会自动管理RedissonClient

典型场景

对 Spring 依赖不多,或者需要特殊配置场景

使用 Spring Boot,追求快速开发和简洁配置

如何选择?

  • 如果你的项目是传统 Java 项目,或者使用了 Spring Framework 而不是 Spring Boot,并且你希望对 Redis 的配置有更多细节掌控,那么可以选择原始 Redisson 依赖的方式。它可以让你根据需求实现自定义的配置和连接管理。
  • 如果你的项目是 Spring Boot 项目,并且你希望充分利用 Spring Boot 的自动配置特性来减少配置代码,可以选择Redisson Spring Boot Starter。这种方式集成简单,代码更加简洁,可以大大提高开发效率。

总结

Redisson提供了两种集成 Redis 的方式:原始依赖和 Spring Boot Starter。原始依赖适用于需要完全自定义配置的场景,而Spring Boot Starter使得集成过程变得更加简单,特别适合 Spring Boot 项目。根据具体项目的需求和开发环境选择合适的方式,能够更好地帮助你完成项目的 Redis 集成,实现更强大的分布式能力。

http://www.jsqmd.com/news/523368/

相关文章:

  • 陕西企事业单位搬迁哪家靠谱?专业公司搬迁服务商深度测评 - 深度智识库
  • 利用有限元建模的悬臂梁 LQR 控制器研究附Matlab代码
  • 2026 私有化部署标杆厂商推荐:企业 / AI 知识库方案商、Deepseek 专属服务商、智能 BI 本地部署厂商一网打尽 - 品牌2026
  • 单细胞数据可视化进阶:用ggplot2打造炫酷UMAP密度图与等高线图
  • 广州市桓大皮革有限公司:服务深耕广东广州,以超纤皮革及其定制服务引领环保皮革新生态 - 十大品牌榜
  • 2025-2026年十大麻将机品牌推荐:智能娱乐空间升级靠谱品牌与案例解读 - 十大品牌推荐
  • 云南钢之友:2026年3月云南钢结构、钢管、型钢、钢板优选供应商 - 深度智识库
  • 六自由度系统弱、强非线性振动参数辨识研究附Python代码
  • 一站式选型指南:2026 知识库部署厂商、Deepseek 服务商、企业 BI 私有化 / 本地部署方案商全品类收录 - 品牌2026
  • 2026年全自动颗粒包装机厂家推荐:粉末/酱料/液体/膏体包装机专业供应与选型指南 - 品牌推荐官
  • 2026年卡地亚手表保养售后维修推荐:古董表修复与疑难机芯处理口碑维修点深度分析 - 十大品牌推荐
  • 直通南美:阿根廷空运专线市场格局与核心企业观察 - 时事观察官
  • C#中using关键字的用法介绍
  • 2026年罩棚网架厂家推荐:济宁金亿豪钢结构,焊接球网架/储煤仓网架/圆形煤场网架/煤棚网架厂家精选 - 品牌推荐官
  • 避坑指南:FreeMASTER连接STM32时常见的5个报错解决(含J-LINK.dll丢失/内核选择问题)
  • 2026年3月22日技术资讯洞察:数据库优化进入预测时代,网络安全威胁全面升级
  • 2026年口碑优选:不锈钢筛板定制厂家推荐推荐分析,比较好的不锈钢筛板产品精选优质品牌助力工程采购 - 品牌推荐师
  • 2026年卡地亚手表保养售后维修推荐:高端腕表专业养护靠谱机构与透明服务解析 - 十大品牌推荐
  • IfcOpenShell:终极开源BIM工具链的完整解决方案
  • 别再乱选了!Zeta电位分析仪选购指南:从性能指标到厂家实力全解析 - 品牌推荐大师1
  • 2026 实力部署厂商名录:AI 知识库部署、Deepseek 专属服务、企业智能 BI 私有化、本地 BI 方案商一站式收录 - 品牌2026
  • 云南钢材厂家甄选指南:最新钢结构/钢管/型钢/钢板实力供应商 - 深度智识库
  • 2026年百达翡丽手表保养售后维修推荐:非官方授权专业维修热门服务商对比分析 - 十大品牌推荐
  • 个人开发者支付接入避坑指南:从0到1部署微信支付宝解决方案
  • 从多波段TIFF到模型输入:卫星遥感数据预处理与神经网络适配全流程解析
  • GLM-4-9B-Chat-1M模型微调指南:领域知识适配实战
  • 毕设程序java基于Vue的家政服务系统 SpringBoot与Vue.js融合的智慧家庭服务管理平台设计与实现 基于微服务架构的家政O2O服务平台构建研究——前后端分离技术实践
  • 给自己的人生小结--充新定义生活与人心
  • 2025-2026年电竞鼠标品牌十大排行榜推荐:长时间竞技缓解手部疲劳人体工学设计指南 - 十大品牌推荐
  • 一文讲清,六西格玛管理是什么意思?六西格玛管理的核心是什么?