读取spring applicationContext-common.xml方式

六月ゝ 毕业季﹏ 提交于 2019-11-29 14:35:27

方法一:
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext-common.xml");
ac.getBean("beanName");

方法二:
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext-common.xml");
ac.getBean("beanName");

方法三:
通过加载器

ContextLoaderListener和ContextLoaderServlet(功能相同,实现不同接口。开发中可根据目标Web容器的实际情况进行选择。
但不同的是,ContextLoaderListener不能在与Servlet 2.2兼容的web容器中使用。根据Servlet 2.4规 范, servlet context listener要在web应用程序的servlet context建立后立即执行,并要能够响应第一个请求 (在servlet context要关闭时也一样):这样一个servlet context listener是初始化 Spring ApplicationContext的理想场所。虽然使用哪个完全取决于你,但是在同等条件下应该首选 ContextLoaderListener;
在web.xml中增加:
<listener>
<listener-class>
 
      org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

或:
<servlet>
 
   <servlet-name>context</servlet-name>
 
   <servlet-class>
 
      org.springframework.web.context.ContextLoaderServlet
 
   </servlet-class>
 
   <load-on-startup>1</load-on-startup>
</servlet>


 通过以上配置,Web容器会自动加载/WEB-INF/applicationContext.xml初始化
ApplicationContext实例,如果需要指定配置文件位置,可通过context-param加以指定:
<context-param>
 
   <param-name>contextConfigLocation</param-name>
 
   <param-value>/WEB-INF/myApplicationContext.xml</param-value>
</context-param>

        配置完成之后,即可通过
WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。

如:

ServletContext servletContext = request.getSession().getServletContext();

ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(servletContext );
   LoginAction action=(LoginAction)ctx.getBean("action");



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!