非spring注入使用RedisTemplate,需先调用afterPropertiesSet()方法

错误信息:

Exception in thread "main" java.lang.IllegalArgumentException: template not initialized; call afterPropertiesSet() before using it
    at org.springframework.util.Assert.isTrue(Assert.java:92)
    at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:183)
    at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:169)
    at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:91)
    at org.springframework.data.redis.core.DefaultListOperations.rightPush(DefaultListOperations.java:184)
    at com.zbz.redis.client.RedisTemplateClient.main(RedisTemplateClient.java:41)
 

分析:

       从错误信息知,需要先调用afterPropertiesSet方法,此方法是应该是初始化参数和初始化工作。

代码:

public static RedisTemplate getRedisTemplate(JedisConnectionFactory connectionFactory){
        
        RedisTemplate redisTemplate = new RedisTemplate();
        redisTemplate.setConnectionFactory(connectionFactory);
        StringRedisSerializer serializer = new StringRedisSerializer();
        redisTemplate.setDefaultSerializer(serializer);
        redisTemplate.setKeySerializer(serializer);
        redisTemplate.setValueSerializer(serializer);
        
        /**必须执行这个函数,初始化RedisTemplate*/
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }

 

以上,TKS.


***************当你发现自己的才华够不着期望值时,就请安静下来学习吧**************

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值