Spring框架和MVC原理

Spring框架


Spring当前框架有20个jar包,大致可以分为6大模块:

  • Core Container
  • AOP and Instrumentation
  • Messaging
  • Data Access/Integration
  • Web
  • Test

Spring框架提供了非常丰富的功能,因此整个架构也很庞大。

在我们实际的应用开发中,并不一定要使用所有的功能,而是可以根据需要选择合适的Spring模块。

aaarticlea/png;base64,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" alt="" />

图-Spring框架图(官网文档)

Spring 关键策略

在介绍六大模块前,首先需要说明一下Spring的两大关键策略,这是Spring框架的基石。

(1)控制反转 (Inversion of Control),英文缩写IoC
应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。

也可以说,依赖被注入到对象中。所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。

控制反转主要有两方面:

  • 依赖注入 (Dependency Injection),缩写为DI
  • 依赖查找 (Dependency Lookup)

其中,依赖注入应用较为广泛。

依赖注入是一种技术,它是指组件不做定位查询,只提供普通的Java方法让容器去决定依赖关系。

容器全权负责的组件的装配,它会把符合依赖关系的对象通过JavaBean属性或者构造函数传递给需要的对象。

通过JavaBean属性注射依赖关系的做法称为设值方法注入(Setter Injection);将依赖关系作为构造函数参数传入的做法称为构造器注入(Constructor Injection)

(2)面向切面编程 (Aspect Oriented Programming),缩写为AOP

通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。

利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

核心容器 (Core Container)

IoC容器是Spring框架的核心。spring容器使用依赖注入管理构成应用的组件,它会创建相互协作的组件之间的关联。毫无疑问,这些对象更简单干净,更容易理解,也更容易重用和测试。

Spring自带了几种容器的实现,可归纳为两种类型:

(1)Bean工厂 

由 org.springframework.beans.factory.BeanFactory 接口定义。

它是最简单的容器,提供基本的DI支持。

(2)应用上下文 

由 org.springframework.context.ApplicationContext 接口定义。

它是基于BeanFactory 之上构建,并提供面向应用的服务,例如从属性文件解析文本信息的能力,以及发布应用事件给感兴趣的事件监听者的能力。

注:Bean工厂对于大多数应用来说往往太低级了,所以应用上下文使用更广泛。推荐在开发中使用应用上下文容器。 

Spring自带了多种应用上下文,最可能遇到的有以下几种:

以下为加载应用上下文示例

ApplicationContext context = new FileSystemXmlApplicationContext("D:\\Temp\\build.xml");
ApplicationContext context2 = new ClassPathXmlApplicationContext("build.xml");

可以看到,加载 FileSystemXmlApplicationContext 和 ClassPathXmlApplicationContext 十分相似。

差异在于:前者在指定文件系统路径下查找build.xml文件;而后在所有类路径(包含JAR文件)下查找build.xml文件。

通过引用应用上下文,可以很方便的调用 getBean() 方法从 Spring 容器中获取 Bean。

相关jar包

spring-corespring-beans, 提供框架的基础部分,包括IoC和依赖注入特性。
spring-context, 在spring-core, spring-beans基础上构建。它提供一种框架式的访问对象的方法。
它也支持类似Java EE特性,例如:EJB,JMX和基本remoting。ApplicationContext接口是它的聚焦点。
springcontext-support, 集成第三方库到Spring application context。
spring-expression,提供一种强有力的表达语言在运行时来查询和操纵一个对象图。

AOP 和 Instrumentation

相关jar包

spring-aop,提供了对面向切面编程的丰富支持。
spring-aspects,提供了对AspectJ的集成。
spring-instrument,提供了对类instrumentation的支持和类加载器。
spring-instrument-tomcat,包含了Spring对Tomcat的instrumentation代理。

Messaging

相关jar包

spring-messaging,包含spring的消息处理功能,如Message,MessageChannel,MessageHandler。
 

数据访问与集成 (Data Access / Integaration)

Data Access/Integration层包含了JDBC / ORM / OXM / JMS和Transaction模块。
相关jar包

spring-jdbc,提供了一个JDBC抽象层。
spring-tx,支持编程和声明式事务管理类。
spring-orm,提供了流行的对象关系型映射API集,如JPA,JDO,Hibernate。
spring-oxm,提供了一个抽象层以支持对象/XML 映射的实现,如JAXB,Castor,XMLBeans,JiBX 和 XStream.
spring-jms,包含了生产和消费消息的功能。

Web

相关jar包

spring-web,提供了基本的面向web的功能,如多文件上传、使用Servlet监听器的Ioc容器的初始化。一个面向web的应用层上下文。

spring-webmvc,包括MVC和REST web服务实现。

spring-webmvc-portlet,提供在Protlet环境的MVC实现和spring-webmvc功能的镜像。

 

测试 (Test)

相关jar包

spring-test,以Junit和TestNG来支持spring组件的单元测试和集成测试。

SpringMVC工作原理


在上一篇章 [spring]01_环境配置 中,我们演示了一个简单的HelloWorld工程。

本篇章重点讲述SpringMVC的基本工作原理,让大家进一步加深认识。

aaarticlea/png;base64,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" alt="" />

SpringMVC工作流程描述

(1)向服务器发送HTTP请求,请求被前端控制器 DispatcherServlet 捕获。

(2)DispatcherServlet 根据 <servlet-name>-servlet.xml 中的配置对请求的URL进行解析,得到请求资源标识符(URI)。

然后根据该URI,调用 HandlerMapping 获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain 对象的形式返回。

(3)DispatcherServlet 根据获得的Handler,选择一个合适的 HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)。

(4)提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:

  • HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息。
  • 数据转换:对请求消息进行数据转换。如String转换成Integer、Double等。
  • 数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等。
  • 数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中。

(5)Handler(Controller)执行完成后,向 DispatcherServlet 返回一个 ModelAndView 对象;

(6)根据返回的ModelAndView,选择一个适合的 ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet。

(7)ViewResolver 结合Model和View,来渲染视图。

(8)视图负责将渲染结果返回给客户端。

参考资料


Spring实战(第三版)

Spring官方文档——spring-framework-reference

http://blog.csdn.net/xtu_xiaoxin/article/details/8796499

 
分类: J2EE
标签: springMVC

Spring框架和MVC原理的更多相关文章

  1. Spring框架介绍和原理

    SpringMVC框架介绍 1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. Spring 框架提供了构建 Web 应用程序的全功 ...

  2. 模拟spring框架注入实现原理

    这个我是参见了别人的一些东西,不是原创! 定义一些抽象的方法: package com.huxin.springinject.dao; public interface Person { public ...

  3. 【Spring框架】<mvc:default-servlet-handler/>的作用

    优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...

  4. Spring框架中<mvc:default-servlet-handler/>的作用

    优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...

  5. 0000 - Spring 中常用注解原理剖析

    1.概述 Spring 框架核心组件之一是 IOC,IOC 则管理 Bean 的创建和 Bean 之间的依赖注入,对于 Bean 的创建可以通过在 XML 里面使用 <bean/> 标签来 ...

  6. Spring 中常用注解原理剖析

    前言 Spring 框架核心组件之一是 IOC,IOC 则管理 Bean 的创建和 Bean 之间的依赖注入,对于 Bean 的创建可以通过在 XML 里面使用 <bean/> 标签来配置 ...

  7. Spring MVC 原理探秘 - 容器的创建过程

    1.简介 在上一篇文章中,我向大家介绍了 Spring MVC 是如何处理 HTTP 请求的.Spring MVC 可对外提供服务时,说明其已经处于了就绪状态.再次之前,Spring MVC 需要进行 ...

  8. Spring MVC 原理探秘 - 一个请求的旅行过程

    1.简介 在前面的文章中,我较为详细的分析了 Spring IOC 和 AOP 部分的源码,并写成了文章.为了让我的 Spring 源码分析系列文章更为丰富一些,所以从本篇文章开始,我将来向大家介绍一 ...

  9. 0000 - Spring MVC 原理以及helloworld

    1.概述 Spring MVC是目前最好的实现MVC设计模式的框架,是Spring框架的一个分支产品.以Spring IOC容器为基础,并利用容易的特性来简化它的配置.Spring MVC相当于Spr ...

随机推荐

  1. 移动web:Tips消息弹出框

    在web开发中经常会用到像alert这样的弹出消息,每个浏览器自带的消息弹出框都不相同.为了统一外观,实现自定义的功能,动手写一个弹出框插件. 对弹出框的实现要求如下: 1. 仿照IOS系统弹出外观 ...

  2. 我收集的sonar参考资料

    sonarQube代码质量管理工具环境筹建笔记 http://www.myexception.cn/open-source/1307345.html 配置sonar.jenkins进行持续审查 htt ...

  3. 构建安全的Xml Web Service系列之初探使用Soap头

    原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来 ...

  4. sort和qsort排序

    qsort(数组名,数组长度,数组中每个元素大小,compare); compare函数的写法决定了排序是升序还是降序.需要#include<stdlib.h> 例如: int compa ...

  5. HDU 1274 展开字符串 (递归+string类)

    题目链接:HDU 1274 展开字符串 中文题. 左括号进入DFS函数,右括号return到上一层. 注意return回去的是这个一层递归中的括号中的字母串. AC代码: #include<st ...

  6. struts 1.x 原理

    Struts 当我接触到这个框架的时候.我就在想为什么是struts,而不是什么CraigFramework.结构.支撑,这样来理解也不难怪了. 为什么须要struts? 在struts in act ...

  7. 使用WebBrowser,内存一直增加的解决办法

    -- in class definition [DllImport("KERNEL32.DLL", EntryPoint = "SetProcessWorkingSetS ...

  8. Java 启动线程的方式

    面试题:JAVA启动线程的方式有哪些? 1.继承Thread [java] view plaincopy public class java_thread extends Thread{ public ...

  9. asp.net webapi 多文件上传

    使用enctype="multipart/form-data"来进行操作 /// <summary> /// 上传图片 /// </summary> /// ...

  10. HDOJ 4974 A simple water problem

    A simple water problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...