web项目启动时可能需要启动一些定时任务 或者一些其他的方法,这里我使用的是listener, 因为容器启动listener时spring还未完成加载, 所以无法自动注入对象
java代码
- package cn.resoft.dmps.plan.task;
- import javax.servlet.ServletContextEvent;
- import javax.servlet.ServletContextListener;
- import org.springframework.context.ApplicationContext;
- import org.springframework.web.context.support.WebApplicationContextUtils;
- import cn.resoft.dmps.plan.service.TaskMain;
- public class TimerStartTask implements ServletContextListener {
- private TaskMain taskMain;
- public void contextInitialized(ServletContextEvent event) {
- ApplicationContext applicationContext = WebApplicationContextUtils
- .getWebApplicationContext(event.getServletContext());
- taskMain = (TaskMain) applicationContext.getBean("taskMain");
- if (null == taskMain) {
- taskMain = new TaskMain();
- }
- taskMain.startTimer(applicationContext);
- }
- public void contextDestroyed(ServletContextEvent sce) {
- }
- }
package cn.resoft.dmps.plan.task;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import cn.resoft.dmps.plan.service.TaskMain;
public class TimerStartTask implements ServletContextListener {
private TaskMain taskMain;
public void contextInitialized(ServletContextEvent event) {
ApplicationContext applicationContext = WebApplicationContextUtils
.getWebApplicationContext(event.getServletContext());
taskMain = (TaskMain) applicationContext.getBean("taskMain");
if (null == taskMain) {
taskMain = new TaskMain();
}
taskMain.startTimer(applicationContext);
}
public void contextDestroyed(ServletContextEvent sce) {
}
}
转载于:https://blog.51cto.com/shuaigee/1133225