TimerTask的run()方法里面如何调用service层里面的方法

在java的spring框架中,用Timer和TimerTask来实现定时任务,有时我们要在TimerTask的子类的重写run方法里,调用service层的方法。

但是不管是spring.xml配置的bean还是注解@autoware注入的bean,在执行的时候都会报空指针异常。

这其中主要的问题是TimerTask不是由spring管理的,所以你TimerTask内部的service也无法自动注入,2种解决办法,1、TimerTask交由spring管理;2、通过applicationContext.getBean()获取service。

写一个servlet 在web.xml里配置一下。 利用servlet的生命周期init()初始化run()方法也可以。

猜你喜欢

转载自www.cnblogs.com/boomoom/p/9136557.html