使用web.xml方式加载Spring时,获取Spring context的两种方式
使用web.xml方式加载Spring时,获取Spring context的两种方式:
1、servlet方式加载时:
【web.xml】
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext</param-value> </init-param> </servlet>
【jsp/servlet】
ServletContext context = getServletContext(); XmlWebApplicationContext applicationContext = (XmlWebApplicationContext) context.getAttribute("org.springframework.web.servlet.FrameworkServlet.CONTEXT.dispatcherServlet"); DataSource dataSource=(DataSource)applicationContext.getBean("dataSource");
2、listener方式加载时:
【web.xml】
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
【jsp/servlet】
ServletContext context = getServletContext(); WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(context); DataSource dataSource=(DataSource)applicationContext.getBean("dataSource");
原文:http://chanson.iteye.com/blog/223263