1.WebApplicationContext的研究
ApplicationContext是spring的核心,Context通常解释为上下文环境,用“容器”来表述更容易理解一些,ApplicationContext则是“应用的容器了”了。
spring把bean放在这个容器中,在需要的时候,用getBean()方法取出,在web应用中,会用到webApplicationContext,继承自ApplicationContext
在web.xml初始化WebApplicationContext:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
或者用ContextLoaderServlert亦可(加<load-on-startup>1</load-on-startup>)
2.ServletContext详解
ServletContext是Servlet与Servlet容器之间直接通信的接口,Servlet容器在启动一个web应用时,会为它创建一个ServletContext对象,每个web应用有唯一的ServletContext对象,同一个web应用的所有Servlet对象共享一个ServletContext,Servlet对象可以通过它来访问容器中的各种资源
存取共享数据方法:
setAttribute(String name,Object obj)
getAttribute(String name)
相关推荐
`WebApplicationContext webApplicationContext = (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);` 方法三:继承自抽象类 ...
1. **`getWebApplicationContext(ServletContext servletContext)`**: - **作用**:此方法尝试从ServletContext中检索WebApplicationContext。 - **返回值**:如果找到了,则返回对应的ApplicationContext;如果...
ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext); 6. SpringMVC简介 SpringMVC是一个基于Java的MVC框架,属于SpringFramework的后续产品。它是一...
这样,我们可以通过`WebApplicationContextUtils`工具类的静态方法`getWebApplicationContext(ServletContext)`在Web应用的任何地方获取ApplicationContext对象,无需每次都手动创建。 3. **导入Spring集成Web的...
7. **WebApplicationContext与ServletContext的关系**: `WebApplicationContext`是Spring在Web环境中管理bean的上下文,而`ServletContext`是Java Web应用的核心对象,它提供了一个全局的数据共享和通信平台。`...
WebApplicationContext context = (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); if (context == null) { context = ...
Spring把Bean放在这个容器中,普通的类在需要的时候,直接用getBean()方法取出
使用`ContextLoaderListener`的好处在于它将ApplicationContext作为全局属性存储在`ServletContext`中,使得任何Servlet或Filter都可以方便地访问。 在Spring4版本中,还引入了更高级的特性,如Java配置、自动扫描...
ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc); ``` 这里,`getRequiredWebApplicationContext`会抛出异常如果找不到`ApplicationContext`,而`get...
在 Web 应用程序中,我们也可以直接从 ServletContext 中获取 WebApplicationContext。这是因为 Spring 会将 WebApplicationContext 存储在 ServletContext 中。 例如,我们可以使用以下代码来获取 ...
WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(servletContext); ``` 以上两种方式都可以从 `ServletContext` 中获取到 Spring 上下文对象。 #### 9. Spring AOP 的底层...
在Spring框架中,WebApplicationContext是专门为Web应用设计的ApplicationContext,它与普通的ApplicationContext相比,增加了对Web环境的支持,比如能够访问Servlet上下文(ServletContext)以及处理HTTP请求等。...
注解配置SpringMVC原理简述1. 准备知识1.1 两个应用上下文1.2 ServletContext配置方法(Configuration Methods)1.3 运行时插拔1.4 SpringServletContainerInitializer1.4.1 AbstractContextLoaderInitializer1.4.2 ...
例如,`WebApplicationContextUtils.getWebApplicationContext(servletContext)`可以从当前的HTTP请求的Servlet上下文中获取`ApplicationContext`。 选择`ApplicationContext`还是`BeanFactory`主要取决于应用的...
WebApplicationContext是针对Web应用而设计的,它会持有对ServletContext的引用,允许从Web相关的对象(如Servlet)中获取Bean。WebApplicationContext通常在Web应用启动时初始化,并在Web应用运行期间一直存在,...
`WebApplicationContext`整合了`ServletContext`的功能,它从`ConcurrentHashMap`中获取`ServletContext`对象,并存储初始化参数。然后,将上下文发布为servlet上下文属性,使得在整个应用中可以通过`...
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); ``` #### 四、总结 - `ApplicationContext`相比`BeanFactory`提供了更多的高级特性,因此通常推荐在实际开发...
- WebApplicationContext 与普通的 ApplicationContext 相比,具有更多的灵活性和扩展性,能够更好地与 Web 环境集成。 - DispatcherServlet 通过属性 `WEB_APPLICATION_CONTEXT_ATTRIBUTE` 访问 ...
`WebApplicationContext` 与 `ServletContext` 和 Servlet 相关联,并且与 `ServletContext` 绑定,这样应用程序就可以通过静态方法 `RequestContextUtils` 来查找 `WebApplicationContext`,如果它们需要访问它的话...