Spring 框架

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式。

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

SpringMVC框架是基于Spring框架的,其实SpringMVC框架是Spring框架的一个模块,专门做Web开发,可以理解为:SpringMVC是对前面学习的Servlet的升级。

我们使用Servlet做Web开发是最原始的形式,但这也是最核心的。在Spring的学习过程中,我们是通过自定义类,让这个自定义类去继承HTTPServlet类,并且重写里面的doGet(),doPost()等方法且还要在web.xml文件中配置Servlet,这样才能去处理请求。虽然熟练了之后,觉得也没什么,但是整体上的步骤还是过于繁琐。那么我们就开发了SpringMVC框架,这个SpringMVC框架不仅实现了Servlet的功能,并且在Servlet的基础上增加了一些其他更好用的功能,让我们的Web开发更加的容易,简洁。

SpringMVC框架的优点

首先,SpringMVC,也叫做Spring Web MVC,是在Spring3.0之后发布的。那么他的优点如下:

基于MVC架构,分工明确,解耦合

容易理解,上手快,使用简单。

是轻量级的,jar包很小,不依赖特定的接口和类

作为Spring的一部分,也能使用Spring的IOC和AOP核心技术,方便整合Mybatis

Springmvc架构原理解析

  1. 发起请求到前端控制器(DispatcherServlet)
  2. 前端控制器请求HandlerMapping查找 Handler,可以根据xml 配置、注解进行查找
  3. 处理器映射器HandlerMapping向前端控制器返回Handler
  4. 前端控制器调用处理器适配器去执行Handler
  5. 处理器适配器去执行Handler
  6. Handler执行完成给适配器返回ModelAndView
  7. 处理器适配器向前端控制器返回ModelAndView,ModelAndView是springmvc框架的一个底层对象,包括 Model和view
  8. 前端控制器请求视图解析器去进行视图解析,根据逻辑视图名解析成真正的视图(jsp)
  9. 视图解析器向前端控制器返回View
  10. 前端控制器进行视图渲染,视图渲染将模型数据(在ModelAndView对象中)填充到request域。
  11. 前端控制器向用户响应结果。

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。

先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring 面向方面编程(AOP)和控制反转 (IOC) 容器。接着将使用几个示例演示 IOC 容器在典型应用程序用例场景中的应用情况。这些示例还将成为本系列后面部分进行的展开式讨论的基础,在本文的后面部分,将介绍 Spring 框架通过 Spring AOP 实现 AOP 构造的方式。