简介
Spring的核心是一个轻量级(Lightweight)的容器(Container)。
Spring是松耦合性框架。
Spring是实现IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架。
Spring提供AOP(Aspect-oriented programming)概念的实现方式。
Spring提供对持久层(Persistence)、事物(Transcation)的支持。
Spring提供MVC Web框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装。
Spring提供了对现存的各种框架(Structs、JSF、Hibernate、Ibatis、Webwork等)相整合的方案。
总之,Spring是一个全方位的应用程序框架。
Spring是一个轻量级的IOC和AOP容器框架
轻量级:程序实现不是很复杂,代码不是很多,占用资源不是很多,没有侵入性。
IOC(Inversion of Control 控制反转):对象创建责任的反转(重点,核心)。
AOP(Aspect Oriented Programming):一种面向横切面编程的思想方式,可以进行功能性扩展。
容器:可以容纳对象,并且可以控制对象的生命周期。
Sping框架的优缺点
优点:
轻量级的容器框架,没有侵入性。
IoC更加容易组合对象之间的关系,通过面向接口进行编程,可以低耦合开发。
易于本地测试(Junit单元测试,不用部署服务器)。
AOP可以更加容易的进行功能扩展,遵循OCP开发原则。
Spring默认对象的创建为单例的,我们不需要再使用单例的设计模式来开发单体类。
Spring的集成很强大,另外可以对其他框架的配置进行一元化管理。
支持主流的优秀的框架的集成,如struts、hibernate、ibatis等等。
Spring的声明式事务的方便使用。
缺点:
所有框架基本共有的,就是开发对设计要求较高,集成测试麻烦,对框架有一定的依赖性。
Spring整体框架设计精妙,但也相对复杂,想了解其中实现原理需要花大量时间。