SpringBoot 项目在静态工具类中注入 RedisTemplate |
您所在的位置:网站首页 › springboot工具类静态方法注入 › SpringBoot 项目在静态工具类中注入 RedisTemplate |
静态属性不能直接注入,可以通过其set方法进行注入。(注意生成的set方法需要去掉static)。 在工具类里直接注入RedisTemplate,两种方法: (1)使用@Autowired private static RedisTemplate redisTemplate; @Autowired public void setRedisTemplate(RedisTemplate redisTemplate) { JwtUtil.redisTemplate = redisTemplate; }(2)使用@Resource private static RedisTemplate redisTemplate; @Resource public void setRedisTemplate(RedisTemplate redisTemplate) { JwtUtil.redisTemplate = redisTemplate; }接着需要将该工具类作为一个spring管理的bean,这个必须,不然无法注入成功。 只需要在该工具类上添加注解 @Component 完整示例代码: @Component public class JwtUtil { private static RedisTemplate redisTemplate; @Autowired public void setRedisTemplate(RedisTemplate redisTemplate) { JwtUtil.redisTemplate = redisTemplate; } }接着就可以正常使用了。 还有更简单的方法,可以直接使用 SpringContextHolder,不过需要做一些额外配置。 public class JwtUtil { private static RestTemplate restTemplate = SpringContextHolder.getBean(RestTemplate.class); }
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |