spring
Spring 框架是 Java 平台上的一种开源应用框架,提供具有控制反转特性的容器。
尽管 Spring 框架自身对编程模型没有限制,但其在 Java 应用中的频繁使用让它备受青
睐,以至于后来让它作为 EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Sprin
g 框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注
入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务
管理,整合多种持久化技术管理数据访问,提供大量优秀的 Web 框架方便开发等等。S
pring 框架具有控制反转(IOC)特性,IOC 旨在方便项目维护和测试,它提供了一种通
过 Java 的反射机制对 Java 对象进行统一的配置和管理的方法。Spring 框架利用容器管
理对象的生命周期,容器可以通过扫描 XML 文件或类上特定 Java 注解来配置对象,开
发者可以通过依赖查找或依赖注入来获得对象。Spring 框架具有面向切面编程(AOP)
框架,SpringAOP 框架基于代理模式,同时运行时可配置;AOP 框架主要针对模块之间
的交叉关注点进行模块化。Spring 框架的 AOP 框架仅提供基本的 AOP 特性,虽无法与 A
spectJ 框架相比,但通过与 AspectJ 的集成,也可以满足基本需求。Spring 框架下的事
务管理、远程访问等功能均可以通过使用 SpringAOP 技术实现。Spring 的事务管理框架
为 Java 平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起
工作,并且几乎可以在 Java 平台的任何环境中工作。Spring 集成多种事务模板,系统
可以通过事务模板、XML 或 Java 注解进行事务配置,并且事务框架集成了消息传递和
缓存等功能。Spring 的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的
常见困难。它不仅对 Java:JDBC、iBATS/MyBATIs、Hibernate、Java 数据对象(JDO)、
ApacheOJB 和 ApacheCayne 等所有流行的数据访问框架中提供支持,同时还可以与 Spri
ng 的事务管理一起使用,为数据访问提供了灵活的抽象。Spring 框架最初是没有打算构
建一个自己的 WebMVC 框架,其开发人员在开发过程中认为现有的 StrutsWeb 框架的呈
现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了 SpringMVC。
Spring MVC
Spring MVC 框架是有一个 MVC 框架,通过实现 Model-View-Controller 模式来很好
地将数据、业务与展现进行分离。从这样一个角度来说,Spring MVC 和 Struts、Struts
2 非常类似。Spring MVC 的设计是围绕 DispatcherServlet 展开的,DispatcherServlet 负
责将请求派发到特定的 handler。通过可配置的 handler mappings、view resolution、loc
ale 以及 theme resolution 来处理请求并且转到对应的视图。Spring MVC 请求处理的整
体流程如图:
- 1
- 2
- 3
- 4
- 5
- 6
前往页