Spring框架至今已集成了20多个模块,这些模块分布在以下模块中:
- 核心容器(Core Container)
- 数据访问/集成(Data Access/Integration)层
- Web层
- AOP(Aspect Oriented Programming)模块
- 植入(Instrumentation)模块
- 消息传输(Messaging)
- 测试(Test)模块
Spring体系结构如下图:
Spring的核心:
- IoC(Inverse of Control 反转控制): 将对象创建权利交给Spring工厂进行管理。
User u = spring工厂.id
- AOP(Aspect Oriented Programming 面向切面编程),基于动态代理的功能增强方式。
Spring的优点:
- 方便解耦,简化开发
Spring就是一 个大工厂 ,可以将所有对象创建和依赖关系维护,交给Sping
管理 - AOP编程的支持
Spring提供 面向切面编程,可以方便的实现对程序进行权限拦截、运行监控
等功能 - 声明式事务的支持
只需要通过配置就可 以完成对事务的管理,而无需手动编程 - 方便程序的测试
Spring对 Junit4支持,可以通过注解方便的测试Spring程序 - 方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:
Struts、Hibermnate、 MyBatis、 Quartz等) 的直接支持 - 降低JavaEE API的使用难度
Spring 对JavaEE开发中非常难用的一些API (JDBC、JavaMail.远程调用
等),都提供了封装,使这些API应用难度太大降低