Webプロジェクトの起動時にタイミングタスクまたはその他の方法を起動する


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) {

	}

}

web.xml構成

<listener>
		<listener-class>cn.resoft.dmps.plan.task.TimerStartTask</listener-class>
	</listener>