当前位置: 代码迷 >> Web前端 >> WebApplicationContext(可除去spring注入的bean对象)
  详细解决方案

WebApplicationContext(可除去spring注入的bean对象)

热度:845   发布时间:2013-05-02 09:39:29.0
WebApplicationContext(可去除spring注入的bean对象)

ApplicationContext是Spring的核心,Context我们通常解释为上下文环境,我想用“容器”来表述它更容易理解一些,ApplicationContext则是“应用的容器”了,Spring把Bean放在这个容器中,在需要的时候,用getBean方法取出。

??WebApplicationContext继承自ApplicationContext,webApplicationContext(也有可能是其父context,而正真?的webApplicationContext是由DispatcherServlet初始化的。)是由?contextLoaderListener或者contextLoaderServlet加载web.xml中的param参数?contextConfigLocation初始化的

??过滤器中无法用spring注入,当想得到bean时只能手动获取ApplicationContext,如ApplicationContext?ac?=?new?FileSystemXmlApplicationContext("applicationContext.xml");但这样会重新加载spring配置文件,这样会极大影响性能所以我们可在session中取出webApplicationContext从而获取bean实例

??当Servlet初始化了webApplicationContext后,即可在ServletContext取出

WebApplicationContext??ctx?=?WebApplicationContextUtils.getRequiredWebApplicationContext(req.getSession().getServletContext());

ctx.getBean("");

  相关解决方案