Spring Framework是一个基于IOC和AOP构建多层J2EE系统的框架。它是一个开源的Java/Java EE全栈应用程序框架,在Apache许可证下发布。NET平台。它非常模块化,允许您根据自己的需要选择使用哪个模块。该框架基于《Java EE设计与开发专家一对一》(ISBN 0-7645-4385-7)一书中的代码,该书最初由Rod Johnson和Juergen Hoeller等人开发。它实现了一个优雅的MVC,为不同的数据访问技术提供了一个统一的接口,使用IOC使组装bean变得容易,提供了简洁的AOP,并相应地实现了事务管理。Spring Framework提供了一种简单的开发方法,避免了需要大量的属性文件和辅助类,这些文件和类可能会使底层代码变得复杂和混乱。
Spring特性:
强大的基于 JavaBeans 的采用控制翻转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易。
一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂。
数据库事务的一般化抽象层,允许宣告式(Declarative)事务管理器,简化事务的划分使之与底层无关。
内建的针对 JTA 和 单个 JDBC 数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。
JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码), 简化了错误处理, 大大减少了程序员的编码量. 再次利用JDBC时,你无需再写出另一个 '终止' (finally) 模块. 并且面向JDBC的异常与Spring 通用数据访问对象 (Data access Object) 异常等级相一致.
以资源容器,DAO 实现和事务策略等形式与 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用众多的翻转控制方便特性来全面支持, 解决了许多典型的Hibernate集成问题. 所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范.
灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如 JSP,FreeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts,WebWork,或 Tapestry。
提供诸如事务管理等服务的面向方面编程框架。
在设计应用程序Model时,MVC 模式(例如Struts)通常难于给出一个简洁明了的框架结构。Spring却具有能够让这部分工作变得简单的能力。程序开发员们可以使用Spring的 JDBC 抽象层重新设计那些复杂的框架结构。
Spring下属产品包括:
Spring 核心产品
Spring Web Flow Web工作流的产品,里面集成了Spring 的MVC
Spring Security 认证和集成方面的组件
Spring Web Services Web服务的工具类
Spring Batch 执行Java批处理的工具类
Spring Dynamic Modules 动态维护模块的工具类
Spring Integration 集成工具
Spring JavaConfig 配置工具类