Skip to content

介绍

今天在项目中使用RedisTemplate怎么注入都显示为Null。

解决方案

ts
/**
 * RedisUtil工具类
 */
@Component
@Slf4j
public class RedisUtil {

    @Resource
    private RedisTemplate redisTemplate;

    //添加静态的变量
    public static RedisTemplate redis;

    @PostConstruct
    public void getRedisTemplate() {
        redis = this.redisTemplate;
    }
    
    //...其他工具方法
}

PostConstruct 注释,用于在依赖关系注入完成之后,需要执行的方法上,以执行任何初始化。
此方法必须在将类放入服务之前调用。 也就是说redisTemplate被注入以后,就会自动执行getRedisTemplate给我们设置的静态变量redis赋值。

ts
RedisTemplate redisTemplate= RedisUtil.redis;
 
这样获取RedisUtil.redis,可以用redisTemplate做其他操作了..

上次更新于: