两种启动监听器ApplicationListener和ServletContextListener

引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器

 

ServletContextListener 

特点: 依赖于sevlet容器,需要配置web.xml

使用方法:

public class StartListener implements ServletContextListener {  
  
	@Override
	public void contextInitialized(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void contextDestroyed(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		
	}
} 

contextInitialized:容器初始化sevlet时调用

contextDestroyed:sevlet销毁时调用

上面两个方法对应着sevlet的生命周期

 

 

 

ApplicationListener

特点:依赖于spring框架,在spring启动时调用

使用方法:

 

@Service
public class StartListener implements ApplicationListener {


	/**
	 * 操作:<br/>
	 * 1.初始化配置文件
	 */
	@Override
	public void onApplicationEvent(ApplicationEvent arg0) {
		// 1.初始化配置文件
		 
	}

}

 既然托管给spring就要打上注解来告诉spring这个是你的一部分,spring在加载时会初始化这个类

 

两种初始化方法都没法直接使用@Autowired来注入sevice进行数据库操作,于是我只好另辟蹊径,从spring的beanfactory中取得serice进行DB访问

 

你可能感兴趣的:(java,spring,框架)