RedisTemplate注入失败

private static final Logger log = LoggerFactory.getLogger(MybatisRedisCache.class);

// 读写锁
private final ReadWriteLock readWriteLock = new ReentrantReadWriteLock(true);
@Autowired
private StringRedisTemplate redisTemplate;

private String id;

public MybatisRedisCache(final String id) {
    if (id == null) {
        throw new IllegalArgumentException("Cache instances require an ID");
    }
    this.id = id;
}

@Override
public String getId() {
    return this.id;
}

@Override
public void putObject(Object key, Object value) {
    if (value != null) {
        redisTemplate.opsForValue().set(key.toString(), value.toString());
    }
}

@Override
public Object getObject(Object key) {
    try {
        if (key != null) {
            return redisTemplate.opsForValue().get(key.toString());
        }
    } catch (Exception e) {
        log.error("缓存出错 ");
    }
    return null;
}

@Override
public Object removeObject(Object key) {
    if (key != null) {
        redisTemplate.delete(key.toString());
    }
    return null;
}

@Override
public void clear() {
    log.debug("清空缓存");
    Set<String> keys = redisTemplate.keys("*:" + this.id + "*");
    if (!CollectionUtils.isEmpty(keys)) {
        redisTemplate.delete(keys);
    }
}

@Override
public int getSize() {
    Long size = redisTemplate.execute((RedisCallback<Long>) RedisServerCommands::dbSize);
    return size.intValue();
}

@Override
public ReadWriteLock getReadWriteLock() {
    return this.readWriteLock;
}### 问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 6.6k
9 个回答

不清楚框架内有没有把StringRedisTemplate这个类的对象纳入管理, 但RedisTemplate是有的(在你引入对应的spring-boot-starter-data-redisjar包后)

你得这个 类 是 被 ioc 管理的吗?

新手上路,请多包涵

建议把bean config(java config或者XML)文件贴出来 这样更容易定位问题 而且spring官方是不推荐这种field injection的 更推荐使用构造函数进行依赖注入

首先确认下你使用的是什么框架

  1. springboot 具体的配置方式可以看官方文档 https://github.com/spring-pro...
  2. spring 那就去官网看下配置使用方式

请提供完整的代码,且把问题描述清楚,整齐化排版

建议先看下怎么提问

请提供完整的代码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题