SpringBoot复习:(48)RedisAutoConfiguration自动配置类

RedisAutoConfiguration类代码如下:

可以看到在这个类中配置了2个bean: redisTemplate和stringRedisTemplate.

而它通过@EnableConfigurationProperties(RedisProperties.class)注解,把配置文件中配置的Redis相关的信息引入进来了,RedisProperties代码如下:

还可以看到RedisAutoConfiguration上有@Import注解

@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })

LettuceConnectionConfiguration代码如下:

可以看到创建了一个名为redisConnectionFactory的类型为LettuceConnectionFactory的bean,父类型为RedisConnectionFactory.

JedisConnectionFactory代码如下:

可以看到创建了一个名为redisConnectionFactory的类型为JedisConnectionFactory的bean,父类型为RedisConnectionFactory.

通过使用@ConditionalOnMissingBean(RedisConnectionFactory.class),可以确保容器中只会从LettuceRedisConnectionFactory和JedisConnectionFactory中二选一。最后,二选一的RedisConnectionFactory bean会被RedisAutoConfiguration注入

spring-boot-starter-data-redis默认引入的是lettuce依赖,所以默认使用的RedisConnectionFactory是LettuceConnectionFactory.想使用JedisConnectionFactory的话,需要手动引入jedis依赖

复制代码
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.6.0</version>
        </dependency>
相关推荐
Victor3566 分钟前
Redis(137)Redis的模块机制是什么?
后端
Victor3568 分钟前
Redis(136)Redis的客户端缓存是如何实现的?
后端
y***61315 小时前
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
java·spring boot·spring
不知更鸟5 小时前
Django 项目设置流程
后端·python·django
黄昏恋慕黎明7 小时前
spring MVC了解
java·后端·spring·mvc
有一个好名字8 小时前
MyBatis-Plus 三种数据库操作方式详解 + 常用方法大全
数据库·mybatis
Filotimo_8 小时前
SpringBoot3整合Druid数据源
java·spring boot
G探险者8 小时前
为什么 VARCHAR(1000) 存不了 1000 个汉字? —— 详解主流数据库“字段长度”的底层差异
数据库·后端·mysql
百锦再9 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
Tony Bai9 小时前
Go 在 Web3 的统治力:2025 年架构与生态综述
开发语言·后端·架构·golang·web3