Spring是分层的轻量级的开源框架
以IoC和AOP为内核,提供了展现层Spring MVC,持久层Spring JDBC及业务层事务管理等一站式的企业级应用技术
Spring整合了许多第三方框架和类库
好处
- 方便解耦,简化开发。通过Spring提供的IoC容器,用户可以将对象之间的依赖关系交由Spring进行控制,避免硬编码造成的过度程序耦合。有了Spring,用户不必再为单例模式类和、属性文件解析等在这些底层的需求编写代码,可以更专注于上层的应用
- AOP编程的支持。
- 声明式事务的支持。通过声明的方式灵活地进行事务管理,提高开发效率和质量
- 方便程序的测试。可以用非容器依赖的编程方式进行几乎所有的测试工作
- 方便集成各种优秀框架。
- 降低Java EE API的使用难度。Spring对很多难用的Java EE API提供了一个薄层的封装来降低API的使用难度
Spring的体系结构
整个框架按其所属功能可以划分为5个主要模块
- IoC
Spring的核心模块实现了IoC的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系的描述,由IoC容器负责依赖类之间的创建、拼接、管理、获取等工作。BeanFactory接口是Spring框架的核心接口,它实现了容器许多核心的功能。
Context模块构建于核心模块之上,扩展了BeanFactory的功能,还提供了许多企业级服务的支持。ApplicationContext是Context模块的核心接口
表达式语言模块是统一表达式语言的一个扩展,用于查询和管理运行期的对象 - AOP
AOP是进行横切逻辑编程的思想 - 数据访问和集成
任何应用程序的核心问题是对数据的访问和操作。数据有多种表现形式,而每种数据形式又有不同的数据访问技术。
Spring建立一套面向DAO层的统一的异常体系,同时又将各种访问数据的检查型异常转换为非检查型异常,为整合各种持久层框架提供了基础
通过模块化技术对各种数据访问技术进行了薄层封装,将模板化的代码隐藏起来,使数据访问程序得到大幅简化。
这样Spring就建立起了和数据形式及访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明式事务的功能 - Web及远程操作
该模块建立在Application Context模块之上,提供了Web应用的各种工具类,
Spring4.0新特性
…