1、实现Tomcat启动完毕后启动一个任务
①、使用监听器完成,弊端 无法使用spring的注解完成依赖注入。监听器优先于spring容器加载前执行。
java类实现ServletContextListener,ServletContextAttributeListener 接口
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class InitListenerMessage implements ServletContextListener,
ServletContextAttributeListener {
private Logger logger = org.slf4j.LoggerFactory.getLogger(InitListenerMessage.class);
@Override
public void contextInitialized(ServletContextEvent sce) {
logger.info("**** Servlet 初始化加载");
}
}
在web.xml配置相应的监听
<listener>
<listener-class>com.listener.InitListenerMessage</listener-class>
</listener>
②使用spring 的init-method实现容器加载bean的时候自动调用该初始化方法,该设置可以实现spring的依赖注入。
<!-- 初始化加载 -->
<bean init-method="contextInitialized" class="com.listener.InitSpringListener">
public class InitSpringListener{
@Autowired
private InitScheduleRunnable initRunnable;
Logger logger = org.slf4j.LoggerFactory.getLogger(InitSpringListener.class);
public void contextInitialized() {
logger.info("**************** Spring 初始化加载**************"+initRunnable);
}
}