特性:简单性、可测试性和松耦合性。
目的:解决企业应用开发的复杂性。
初衷:使得JAVA EE开发应该更加简单,使用接口而不是使用类,Spring将使用接口的复杂度几乎降低到了零,为JavaBean提供了一个更好的应用配置框架,更多地强调面向对象的设计,而不是如现在的JAVA EE技术,尽量减少不必要的异常捕捉,使应用程序更加容易测试。
基本组成:完善的轻量级核心框架,通用的事务管理抽象层,JDBC抽象层,集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps,AOP功能,灵活的MVC Web应用框架。
总体而言,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,使开发者写的代码更加容易测试。
轻量:Spring框架可以在只有1MB多的JAR文件里发布。
控制反转(IOC):促进松耦合,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
面向切面(AOP): 允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
容器: Spring包含并管理应用对象的配置和生命周期。
框架:Spring将简单的组件配置、组合成为复杂的应用,Spring也提供了很多基础功能(事务管理、持久化框架集成等等)。