- 支持AOP,方便进行面向切面的编程
- 方便解耦,简化开发,通过Spring提供的IoC容器(控制反转),利用依赖关系注入的方式,实现对象之间的解耦。
- 支持声明式事务处理,只需要通过配置就可以完成对事物的管理,而无须手动编程
- 方便程序的测试.
Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。 - 方便集成各种优秀框架.
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。 - 降低Java EE API的使用难度
Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。 - 非侵入式设计 Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。
什么是IOC:
简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。