springMVC 使用WebApplicationContext获取ApplicationContext对象

时间:2023-11-28 13:04:08

主要用于从application中获取bean

1、applicationContext

在web.xml中使用listener配置

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

使用WebApplicationContext获取

WebApplicationContext webApplicationContext =ContextLoader.getCurrentWebApplicationContext();  




2、springMVC-serlvet

在web.xml中使用servlet配置

<servlet>

<servlet-name>springMVC</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springMVC-servlet.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>springMVC</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

使用ServletContext获取

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

WebApplicationContext webApplicationContext = (WebApplicationContext)servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

参考:springMVC 使用WebApplicationContext获取ApplicationContext对象