使用SpringBoot时并没有创建RedisTemplate对象,为什么可以直接使用?RedisTemplate从哪里来?

使用SpringBoot时并没有创建RedisTemplate对象,为什么可以直接使用?RedisTemplate从哪里来?

开启SpringBoot引导类,触发@SpringBootApplication注解,而@SpringBootApplication注解依赖于@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan注解。

@SpringBootConfiguration注解:是一个配置类注解,将当前类声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。

@ComponentScan注解:是包扫描注解,扫描引导类及其子类包下面的注解。

@EnableAutoConfiguration注解:可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。@EnableAutoConfiguration注解是对@Import注解的封装,@Import注解会去加载AutoConfigurationImportSelector.class类,从而加载spring.factories配置文件中的配置,让Spring识别到RedisAutoConfiguration.class类,并且被加载。

当RedisAutoConfiguration.class类被加载时,会根据@ConditionalOnClass、@EnableConfigurationProperties、@Import以及redisTemplate方法上的@ConditionalOnMissingBean注解来判断是否要生成RedisTemplate对象,如果条件通过也就是在当前容器中没有RedisTemplate的bean对象则会生成RedisTemplate对象。

这样我们就可以在类中使用RedisTemplate对象了。

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值