Springboot @Component 使用@Autowir

2020-06-10  本文已影响0人  莫夏_b560

解决方案
1、被引用的bean,部分可以转换成静态方法,如果工具类里面还需要@Autowired引入其他的bean,可以

    private static RedisTemplate<String, Object> redisTemplate;

    @Autowired
    public void setRedisUtil(RedisTemplate<String, Object> redisTemplate) {
        RedisUtil.redisTemplate = redisTemplate;
    }

2、在引用类下,使用 @PostConstruct

3、@Confuguation结合#ConfigurationScan(basePackages="xxxxx")

4、@Component标注的类下使用@Value读取配置的值失败。修改如下:

    @Value("${shiroCacheExpireTime}")
    private String shiroCacheExpireTimeS;

    private static String shiroCacheExpireTime;

    @PostConstruct
    public void setShiroCacheExpireTime(){
        shiroCacheExpireTime = this.shiroCacheExpireTimeS;
    }

上一篇 下一篇

猜你喜欢

热点阅读