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);
}
}