方法一:
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext-common.xml");
ac.getBean("beanName");web
方法二:
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext-common.xml");
ac.getBean("beanName");spring
方法三:
经过加载器app
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> spa
配置完成以后,便可经过
WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。xml
如:
接口
ServletContext servletContext = request.getSession().getServletContext();
开发
ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(servletContext );
LoginAction action=(LoginAction)ctx.getBean("action");get