在静态方法中调用@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.对应的方法;
}
}
这样子就可以调用了