Spring ContextLoaderListener源码分析(二)

2014-11-24 08:26:41 · 作者: · 浏览: 1
Context.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, err);
throw err;
}
}

注意注意此处部分,说明当我们要得到一个WebApplicationContext只需要在ServletContext中获取属性名为WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE的常量值就可以得到一个ApplicationContext,最终可以获取spring配置文件中任意一个Bean对象
eg:
[java]
public String execute() throws Exception {
// TODO Auto-generated method stub
ApplicationContext conn=(ApplicationContext)ServletActionContext.getServletContext().getAttribute(WebApplicationContext.class.getName() + ".ROOT");

System.out.println(conn.getBean("biz"));
return SUCCESS;
}

或者直接使用org.springframework.web.context.support.WebApplicationContextUtils这个抽象的工具类来获得WebApplicationContext,该类的方法
[java]
public static WebApplicationContext getWebApplicationContext(ServletContext sc) {
return getWebApplicationContext(sc, WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
}


作者:hanzhou4519