springboot怎么排除redis的自动配置

springboot 排除redis的自动配置

因为要配置一个redis链接,所以将系统自带的配置排除,分别是

RedisAutoConfiguration.class 和 RedisRepositoriesAutoConfiguration.class 两个自动配置类

需要注意的是:

RedisRepositoriesAutoConfiguration 对 beanName 叫做 “redisTemplate” 的bean有依赖,需要一并排除

@SpringBootApplication(exclude={
RedisAutoConfiguration.class,
RedisRepositoriesAutoConfiguration.class
}) springboot配置redis报错(报红线)Deprecated configuration property "
spring.redis.pool.max-active"

报错信息为:

如何排除SpringBoot中默认的Redis自动配置

Deprecated configuration property ‘spring.redis.pool.max-active"

报错配置为:

#连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=80
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=20
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=10 分析

是因为使用jedis的情况下,前缀应该是spring.redis.jedis,而不是spring.redis。

改为如下即可:

# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=50
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=50
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=5

Spring Boot提供了很多有用的默认配置,包括对Redis的自动配置。在某些情况下,我们可能不需要这些自动配置。本篇文章将介绍如何排除Spring Boot中默认的Redis自动配置。
1. 什么是Redis自动配置?
Spring Boot为我们提供了Redis自动配置,这意味着只需在pom.xml中加入spring-boot-starter-data-redis依赖,Spring Boot就会自动创建一个RedisConnectionFactory实例,其中包括对Redis的连接等配置。
2. 如何排除Redis的自动配置?
有些情况下,我们的项目可能已经通过其他方式连接了Redis,这时就需要把Spring Boot的Redis自动配置排除掉。可以通过两种方式来达成这一目的。
方式一:使用exclude属性
在application.properties中加入以下代码:
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
这样就会把Spring Boot的Redis自动配置排除掉。
方式二:使用@AutoConfigureAfter
在一个自定义的配置类中使用@AutoConfigureAfter注解指定RedisAutoConfiguration类:
@Configuration
@AutoConfigureAfter(RedisAutoConfiguration.class)
public class MyRedisConfiguration {
...
}
这样就可以在自定义的配置中排除Spring Boot的Redis自动配置。
3. 注意事项
在排除Spring Boot的Redis自动配置后,我们需要手动配置连接Redis的相关信息,如Redis服务器地址、端口等。如果在代码中使用了Spring Boot的自动配置类中的某些方法,可以通过注入一个RedisTemplate或StringRedisTemplate实现。
总结
本篇文章介绍了如何排除Spring Boot中默认的Redis自动配置。我们有两种方式来达成这一目的,但需要注意,在排除自动配置后,需要手动配置连接Redis的相关信息。希望对大家有所帮助。