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

RedisAutoConfiguration类代码如下:
SpringBoot复习:(48)RedisAutoConfiguration自动配置类_第1张图片
可以看到在这个类中配置了2个bean: redisTemplate和stringRedisTemplate.
而它通过@EnableConfigurationProperties(RedisProperties.class)注解,把配置文件中配置的Redis相关的信息引入进来了,RedisProperties代码如下:
SpringBoot复习:(48)RedisAutoConfiguration自动配置类_第2张图片
还可以看到RedisAutoConfiguration上有@Import注解
@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })
LettuceConnectionConfiguration代码如下:
SpringBoot复习:(48)RedisAutoConfiguration自动配置类_第3张图片
可以看到创建了一个名为redisConnectionFactory的类型为LettuceConnectionFactory的bean,父类型为RedisConnectionFactory.
JedisConnectionFactory代码如下:
SpringBoot复习:(48)RedisAutoConfiguration自动配置类_第4张图片
可以看到创建了一个名为redisConnectionFactory的类型为JedisConnectionFactory的bean,父类型为RedisConnectionFactory.

通过使用@ConditionalOnMissingBean(RedisConnectionFactory.class),可以确保容器中只会从LettuceRedisConnectionFactory和JedisConnectionFactory中二选一。最后,二选一的RedisConnectionFactory bean会被RedisAutoConfiguration注入
SpringBoot复习:(48)RedisAutoConfiguration自动配置类_第5张图片

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

        
            redis.clients
            jedis
            3.6.0
        

你可能感兴趣的:(SpringBoot,spring,boot,mybatis,后端)