ContextLoaderListener的一点心得

2018-01-22  本文已影响0人  拼搏小老鼠

今天以org.springframework.web.context.ContextLoaderListener为主题,开启分享。话不多说,直接上干货。

ContextLoaderListener的整体框架图如下所示:

1、EventListener只是所有事件侦听器接口必须扩展的标记接口,内部无具体逻辑。

2、ServletContextListener是对ServeltContext的监听器。此接口仅包括两个方法:容器启动时调用contextInitialized方法.容器关闭时调用contextDestroyed方法。

3、ContextLoader由ContextLoaderListener调用,大部实现都隐藏在 ContextLoader 类里,如感兴趣可继续修炼。

4、ContextLoaderListener调用contextInitialized方法完成Spring上下文初始化;调用contextDestroyed方法完成Spring上下文销毁。

5、可自行定义ContextLoaderListener的子类,进而在上下文启动与销毁时加入自定义功能。

示例如下:

(1)web.xml配置信息如下:

(2)主要代码实现如下:

public class ContextLoaderListener extends org.springframework.web.context.ContextLoaderListener {

@Override

public void contextInitialized(ServletContextEvent event) {

// 设置自定义功能,可根据不同需要自行加入

// 初始化spring上下文

super.contextInitialized(event);

}

@Override

public void contextDestroyed(ServletContextEvent event) {

try {

// 设置自定义功能,可根据不同需要自行加入

} catch (Throwable e) {

}

super.contextDestroyed(event);

}

}

最后希望大家善用此功能!不要小瞧这个功能呦,有的公司就是采用这种方式完成的自定逻辑预加载,如统一配置信息的预加载等等。

作者:Gallen

上一篇下一篇

猜你喜欢

热点阅读