今天讲下org.springframework.web.context.ContextLoaderListener这个类吧
-
这里先要介绍下
javax.servlet.ServletContextListener
,因为ContextLoaderListener
是继承了ServletContextListener
的.ServletContextListener
这个事件类作为Web应用服务的一部分,监听Web应用的 ServletContext的初始化和销毁的事件。使用时要实现contextInitialized()
和contextDestroyed()
接口。
contextInitialized()
是在服务器启动时调用,contextDestroyed()
是在服务器关闭时调用 -
ServletContextListener
也是监听器,在服务器启动时调用,这样就可以加载一些Spring依赖注入文件的配置。主要作用也就是是启动Web容器时,自动装配ApplicationContext.xml
的配置信息。因为它实现了ServletContextListener
这个接口,在web.xml
配置这个监听器,启动容器时,就会默认执行它实现的方法。 -
org.springframework.web.context.ContextLoaderListener
结构很简单
public class ContextLoaderListener extends ContextLoader implements ServletContextListener {
public ContextLoaderListener() {
}
public ContextLoaderListener(WebApplicationContext context) {
super(context);
}
/**
* 初始化ServltContext时调用
*/
@Override
public void contextInitialized(ServletContextEvent event) {
initWebApplicationContext(event.getServletContext());
}
/**
* 销毁ServltContext时调用
*/
@Override
public void contextDestroyed(ServletContextEvent event) {
closeWebApplicationContext(event.getServletContext());
ContextCleanupListener.cleanupAttributes(event.getServletContext());
}
}
网友评论