购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.5 ServletContextApplicationContextInitializer分析

本节将对ServletContextApplicationContextInitializer进行分析,关于该对象的基础定义代码如下:

    public class ServletContextApplicationContextInitializer
            implements ApplicationContextInitializer<ConfigurableWebApplicationContext>,
Ordered {}

从上述基础定义代码中可以发现ServletContextApplicationContextInitializer并未实现其他接口,下面对ServletContextApplicationContextInitializer成员变量进行说明,详细内容见表4-4。

表4-4 ServletContextApplicationContextInitializer成员变量

下面对ApplicationContextInitializer的实现方法进行分析,具体处理代码如下:

    public void initialize(ConfigurableWebApplicationContext applicationContext) {
        // 为Web应用上下文设置Servlet上下文
        applicationContext.setServletContext(this.servletContext);
        // 判断是否需要添加属性
        if (this.addApplicationContextAttribute) {
           // 添加根Web应用上下文
    this.servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_
CONTEXT_ATTRIBUTE, applicationContext);
        }
    }

在上述代码中主要的处理流程有两个:

(1)为Web应用上下文对象设置Servlet上下文;

(2)判断是否添加应用属性,如果需要会给Servlet上下文设置根Web应用上下文这个属性。 owY9hVMHzXr5QicURrAXOEWKI25hXHec5MkW0m+y8SZ+0fOhQltRC0nlxOzL2dh2

点击中间区域
呼出菜单
上一章
目录
下一章
×