在靜態方法中調用@Autowired或@Resource註解的Spring注入的service的方法時發現會報錯,發現注入爲null,其實並不是,只是被static方法“清空”了。
解決方案:
@Component
public class SendSmsService {
@Autowired
private IRedisService iRedisService;
private static SendSmsService sendSmsService;
@PostConstruct
public void init() {
sendSmsService = this;
sendSmsService.iRedisService = this.iRedisService;
}
public static void test() {
sendSmsService.iRedisService.對應的方法;
}
}
這樣子就可以調用了