Spring整合Redis之ConnectionFactory从何而来?

本文解析了Spring Boot环境下,Redis连接工厂(connectionFactory)如何在RedisTemplate中自动装配的过程。通过分析RedisAutoConfiguration和LettuceConnectionConfiguration配置类,揭示了LettuceConnectionFactory实例创建和注入的机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习Redis的时候,入门的时候看了个demo

 @Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory){

        RedisTemplate<String, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(connectionFactory);
}

很是奇怪,这个connectionFactory从哪里来的?

于是乎,我发现了RedisAutoConfiguration这个类,但是答案不在这里,通过继续深入到了

LettuceConnectionConfiguration这个配置类中去,
@Bean
@ConditionalOnMissingBean(RedisConnectionFactory.class)
public LettuceConnectionFactory redisConnectionFactory(ClientResources clientResources)
			throws UnknownHostException {
		LettuceClientConfiguration clientConfig = getLettuceClientConfiguration(clientResources,
				this.properties.getLettuce().getPool());
		return createLettuceConnectionFactory(clientConfig);
	}

这下问题解决了,在这里已经对connctionFactory进行了转配,所以demo中传参的时候,spring就会将这个bean注入。

通过debug,也可以发现,demo中的那个连接工厂就是

LettuceConnectionFactory的实例。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值