Spring Boot 3.0.0-RC1中Redisson无法正常工作问题求助
问题
在Spring Boot 3.0.0-RC1中集成Redisson时出现Bean找不到的问题,该组件在3.0.0-M4版本可正常运行,升级到RC1后报错。
依赖配置
implementation 'org.springframework.boot:spring-boot-starter-web:3.0.0-RC1' implementation 'org.springframework.boot:spring-boot-starter-data-jpa:3.0.0-RC1' implementation 'org.springframework.boot:spring-boot-starter-data-redis:3.0.0-RC1' implementation 'org.redisson:redisson-spring-boot-starter:3.17.7'
报错信息
Description: Parameter 0 of constructor in jp.co.netstars.boss.core.api.aspect.RateLimitAspect required a bean of type 'org.redisson.api.RedissonClient' that could not be found. Action: Consider defining a bean of type 'org.redisson.api.RedissonClient' in your configuration. Process finished with exit code 1
错误提示:RateLimitAspect构造方法的第0个参数所需的org.redisson.api.RedissonClient类型Bean未找到。
解决方案
1. 升级Redisson版本到兼容Spring Boot 3.0的版本
Redisson 3.17.7发布时Spring Boot 3.0还处于早期预览阶段,对其兼容性支持不足。你需要把Redisson升级到3.18.0及以上版本(3.18.0是首个正式支持Spring Boot 3.0的版本)。
修改后的依赖配置:
implementation 'org.redisson:redisson-spring-boot-starter:3.18.0' // 也可以直接用最新稳定版,比如3.23.0 // implementation 'org.redisson:redisson-spring-boot-starter:3.23.0'
2. 手动配置RedissonClient Bean(升级后仍有问题时用)
如果升级版本后还是无法自动生成Bean,就手动写个配置类注册RedissonClient:
import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class RedissonConfig { @Bean public RedissonClient redissonClient() { Config config = new Config(); // 这里根据你的Redis实际配置调整,比如单节点模式 config.useSingleServer() .setAddress("redis://localhost:6379") .setPassword("your-redis-password") // Redis有密码的话加上这行 .setDatabase(0); return Redisson.create(config); } }
3. 检查自动配置是否被排除
确认你的@SpringBootApplication注解里没有排除Redisson的自动配置类,也就是不要有exclude = RedissonAutoConfiguration.class这样的配置。
内容的提问来源于stack exchange,提问作者max k
相关产品推荐
相关产品推荐

