HM-SpringBoot2.5【SpringBoot自动配置-EnableAutoConfiguration注解】

1 // 2 // Source code recreated from a .class file by IntelliJ IDEA 3 // (powered by Fernflower decompiler) 4 // 5 6 package org.springframework.boot.autoconfigure.data.redis; 7 8 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; 9 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; 10 import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; 11 import org.springframework.boot.context.properties.EnableConfigurationProperties; 12 import org.springframework.context.annotation.Bean; 13 import org.springframework.context.annotation.Configuration; 14 import org.springframework.context.annotation.Import; 15 import org.springframework.data.redis.connection.RedisConnectionFactory; 16 import org.springframework.data.redis.core.RedisOperations; 17 import org.springframework.data.redis.core.RedisTemplate; 18 import org.springframework.data.redis.core.StringRedisTemplate; 19 20 @Configuration( 21 proxyBeanMethods = false 22 ) 23 @ConditionalOnClass({RedisOperations.class}) 24 @EnableConfigurationProperties({RedisProperties.class}) 25 @Import({LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class}) 26 public class RedisAutoConfiguration { 27 public RedisAutoConfiguration() { 28 } 29 30 @Bean 31 @ConditionalOnMissingBean( 32 name = {"redisTemplate"} 33 ) 34 @ConditionalOnSingleCandidate(RedisConnectionFactory.class) 35 public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { 36 RedisTemplate<Object, Object> template = new RedisTemplate(); 37 template.setConnectionFactory(redisConnectionFactory); 38 return template; 39 } 40 41 @Bean 42 @ConditionalOnMissingBean 43 @ConditionalOnSingleCandidate(RedisConnectionFactory.class) 44 public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) { 45 StringRedisTemplate template = new StringRedisTemplate(); 46 template.setConnectionFactory(redisConnectionFactory); 47 return template; 48 } 49 }