TimerTask不是由spring管理的,因此你TimerTask內部的service也沒法自動注入,2種解決辦法,一、TimerTask交由spring管理;二、經過applicationContext.getBean()獲取service.java
我這裏採起了項目啓動時,使用listenr注入service。spring
public void contextInitialized(ServletContextEvent arg0) { Service s = WebApplicationContextUtils .getWebApplicationContext(arg0.getServletContext()) .getBean(S.class); timerTask.init(s); }