1. 程式人生 > >TimerTask的run()方法裏面如何調用service層裏面的方法

TimerTask的run()方法裏面如何調用service層裏面的方法

如何 方法 tex run ati bean text ice 獲取

在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層裏面的方法