1.定义:
开放源代码的设计层面框架
2.背景:
传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现Write Once及Run Anywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明事物、事务处理等
3.解决的问题:
业务逻辑层和其他各层的松耦合问题,将面向接口的编程思想贯穿整个系统应用
4.框架特性
强大的基于JavaBeans的采用控制反转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组件更加快捷简易。
一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂
5.特点:
(1).方便解耦,简化开发
通过Spring提供的IOC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合
(2)AOP编程的支持
通过Spring提供的AOP功能,方便进行面向切面的编程,不容易用传统OOP实现的功能可以通过AOP实现
(3).声明式事物的支持
在Spring中,不用进行复杂的事务管理代码,通过声明式方式灵活地进行事务的管理,提高开发效率和质量
(4).方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,例如:Spring对Junit4支持,可以通过注解方便的测试Spring程序。
(5).方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。
(6).降低Java EE API的使用难度
通过Spring的简易封装,Java EE API的使用难度大为降低。