Spring ApplicationContext 与Servlet

一、Spring 容器

1、Spring 容器列述

序号容器描述
1Spring BeanFactory 容器它是最简单的容器,给 DI 提供了基本的支持,它用 org.springframework.beans.factory.BeanFactory 接口来定义。BeanFactory 或者相关的接口,如 BeanFactoryAware,InitializingBean,DisposableBean,在 Spring 中仍然存在具有大量的与 Spring 整合的第三方框架的反向兼容性的目的。
2Spring ApplicationContext 容器该容器添加了更多的企业特定的功能,例如从一个属性文件中解析文本信息的能力,发布应用程序事件给感兴趣的事件监听器的能力。该容器是由 org.springframework.context.ApplicationContext 接口定义。

2、Spring 容器继承关系

在这里插入图片描述

  • ApplicationContext 主要的实现类是 ClassPathXmlApplicationContext
    和FileSystemXmlApplicationContext;

    • ClassPathXmlApplicationContext:默认是从类路径加载配置文件;
    • FileSystemXmlApplicationContext:默认从文件系统中加载配置文件。

其中常使用的容器ClassPathXmlApplicationContext类继承关系:
在这里插入图片描述

  • WebApplicationContext 接口继承自ApplicationContext, 是专门为 WEB 应用准备的,它允许从web应用的根目录的路径中加载配置文件完成初始化工作。和 ApplicationContext初始化方式不同,WebApplicationContext 初始化需要 ServletContext 实例,即必须在拥有 WEB容器的前提下才能完成初始化工作。

二、ApplicationContext 、ServletContext和DispatcherServlet

1、ServletContext

ServletContext,即Servlet环境对象或Servlet容器,包含从容器环境中获得的初始化信息,其内提供的属性和方法在同一web应用下的所有servelt中被使用。每一个web-app只能有一个ServeltContext,web-app可以是一个放置web application文件的文件夹,也可以是一个.war。

2、ApplicationContext

ApplicationContext 是Spring的核心Context(上下文或容器),是Spring应用中管理Bean的存在。
Web应用中web.xml文件内容的定义示例:

<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>   
<servlet>      
<servlet-name>context</servlet-name>      
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>      
<load-on-startup>1</load-on-startup>      
</servlet> 

其中ContextLoaderListener、ContextLoaderServlet是Spring提供的监听启动Spring上下文的存在。

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

该标签标记容器是否应该在web应用程序启动的时候就加载这个servlet。正数表示启动时就加载。

3、DispatcherServlet

DispatcherServlet是对Servlet接口的一个实现,是一个标准的前端控制器,用以转发、匹配、处理每个servlet请求。
在这里插入图片描述
Spring Web 模型-视图-控制(MVC)框架是围绕 DispatcherServlet 设计的,DispatcherServlet 用来处理所有的 HTTP 请求和响应。Spring Web MVC DispatcherServlet 的请求处理的工作流程如下图所示:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西瓜皮防摔

做最明亮的自己,然后照亮他人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值