spring history &design Philosophy

Spring简介

  Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
  Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
spring history

  要谈Spring的历史,就要先谈J2EE。J2EE应用程序的广泛实现是在1999年和2000年开始的,它的出现带来了诸如事务管理之类的核心中间层概念的标准化,但是在实践中并没有获得绝对的成功,因为开发效率,开发难度和实际的性能都令人失望。Spring出现的初衷就是为了解决:使用过EJB开发JAVA EE应用时EJB要求严格实现各种不同类型的接口,类似的或者重复的代码大量存在并且配置复杂和单调,同时使用JNDI进行对象查找的代码也是单调而枯燥;学习EJB的高昂代价,和极低的开发效率,极高的资源消耗,都造成了EJB的使用困难等问题。

  Spring的一个最大的目的就是使JAVA EE开发更加容易。Spring的形成,最初来自Rod Jahnson所著的一本很有影响力的书籍《Expert One-on-One J2EE Design and Development》,就是在这本书中第一次出现了Spring的一些核心思想,该书出版于2002年。另外一本书《Expert One-on-One J2EE Development without EJB》,更进一步阐述了在不使用EJB开发JAVA EE企业级应用的一些设计思想和具体的做法。

Spring的初衷:
1、JAVA EE开发应该更加简单。
2、使用接口而不是使用类,是更好的编程习惯。Spring将使用接口的复杂度几乎降低到了零。
3、为JavaBean提供了一个更好的应用配置框架。
4、更多地强调面向对象的设计,而不是现行的技术如JAVA EE。
5、尽量减少不必要的异常捕捉。
6、使应用程序更加容易测试
  Spring 在早期的 beta 和发布备选版本阶段进行得很迅速,第一个正式版本 1.0 在 2004 年 3 月 24 日 发布。
设计原理
1.在每一层提供选择权。Spring可以让你尽可能的推迟决定设计方案。
2.包容多样性的处理问题方式。Spring拥抱变化和灵活性,对于事情应该如何做并不是固执己见。它提供广泛的应用使用不同的解决方案。
3.保持健壮的向后兼容性。Spring的升级在管理版本间差异时非常小心,Srping对于JDK版本支持和第三方库维护的应用以及依赖Spring的库提供严谨的版本选择。
4.关注API设计。
5.高标准的代码质量。Spring框架对javadoc的意义、更新、精确性非常重视。
原文地址:https://www.cnblogs.com/luv-letter/p/10667993.html