Spring框架由 Rod Johnson 开发,2003年发布了Spring框架的第一个版本。如今,Spring已经发展成为JavaEE开发中最重要的框架之一。官方网站:www.springsource.org。
Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的只是与特定应用相关的部分,从而大大提高了企业应用的开发效率。Spring提供了一种Template的设计哲学,这些Template完成了大量的通用步骤,如果开发者使用这些Template,则无须自己实现那些通用步骤。
Spring为企业应用的开发提供了一个轻量级的解决方案:①基于依赖注入的核心机制 ②基于AOP的声明式事务管理 ③与多种持久层技术的整合 ④优秀的Web MVC框架等。Spring致力于JavaEE应用各层的解决方案,而不是仅仅专注于某一层的方案。可以说,Spring是企业应用开发的“一站式”选择,Spring贯穿表现层、业务层、持久层。然而Spring并不想取代那些已有的框架,而是以高度的开放性与它们无缝整合。
总结起来,Spring具有如下优点:
① 低侵入式设计,代码的污染极低。
② 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write once,Run Anywhere。
③ Spring的DI容器降低了业务对象替换的复杂性,提高了组件之间的解耦。
④ Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提供了更好的复用。
⑤ Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
⑥ Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选用Spring框架的部分或全部。