SpringBoot中@Component注解無法使用@Autowired注解的問題
一、問題原因
springboot 項目中某些情況下@Component注解下@Autowired的類為null的情況,也就是沒注入成功,或者是此類在bean加載之前就被調用了。
二、解決辦法
問題代碼
redisService為空導致空指針異常
@Component
public class TestUtil{
@Autowired
private RedisService redisService;
public void test(){
String key = "";
String value = "";
redisService.setObjectCache(key,value);
}
}
問題解決
親測有效
@Component
public class TestUtil{
private static RedisService redisService;
@Autowired
public void setRedisService (RedisService redisService){
TestUtil.redisService= redisService;
}
public void test(){
String key = "";
String value = "";
redisService.setObjectCache(key,value);
}
}