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

Posted jaden好青年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()方法也可以。

 

以上是关于TimerTask的run()方法里面如何调用service层里面的方法的主要内容,如果未能解决你的问题,请参考以下文章

util包下Timer类的延迟执行

Timer类与TimerTask类

java Timer定时器管理类

Timer使用

项目总结-timerTask的使用

Java定时器:Timer