Spring是一个框架,是一个半成品的软件。有20个模块组成。它是一个容器管理对象,容器是装东西的,Spring容器不装文本,数字。装的是对象。Spring是存储对象的容器。
Spring框架使用的jar都比较小,一般在1M以下或者几百kb。Spring核心功能的所需的jar总共在3M左右。
Spring框架运行占用的资源少,运行效率高。不依赖其他jar
Spring提供了Ioc控制反转,由容器管理对象,对象的依赖关系。原来在程序代码中的对象创建方式,现在由容器完成。对象之间的依赖解耦合。
通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。
在Spring中,开发人员可以从繁杂的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。
Spring不排斥各种优秀的开源框架,相反Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、MyBatis)等的直接支持。简化框架的使用。
Spring像插线板一样,其他框架是插头,可以容易的组合到一起。需要使用哪个框架,就把这个插头放入插线板。不需要可以轻易的移除。
所谓非侵入式是指,Spring框架的 API不会在业务逻辑上出现,由于业务逻辑中没有Spring的 API,所以业务逻辑可以从 Spring框架快速的移植到其他框架,即与环境无关。
Spring作为一个容器,可以管理对象的生命周期、对象与对象之间的依赖关系。可以通过配置文件,来定义对象,以及设置与其他对象的依赖关系。