Spring Framework是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。该框架基于Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由Rod Johnson和Juergen Hoeller等开发。
关键特性:
• 强大的基于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抽象层重新设计那些复杂的框架结构。
评论0