一、Spring设计原则
1、约定大于配置的契约式编程
2、非侵入式设计 从框架角度可以这样理解,无需继承框架提供的类,这种设计就可以看作是非侵入式设计,如果继承了这些框架类,就是侵入设计
3、面向接口编程,而非实现
二、Spring主要功能
1、IoC(Inversion of Control) 通过配置的方式,创建对象及组装对象之间的依赖关系
2、AOP(Aspect Oriented Programming) 提供面向切面编程的功能
3、事物管理
三、Spring架构图
包括:
核心容器:包括Core、Beans、Context、EL模块
- Core模块:封装了框架依赖的最底层部分,包括资源访问、类型转换及一些常用工具类
- Beans模块:提供了框架的基础部分,包括反转控制和依赖注入。BeanFactory是容器核心,本质是“工厂设计模式”的实现,无需编程实现“单例设计模式”
- Context模块:以Core和Beans为基础,集成Beans模块功能并添加资源绑定、容器生命周期、事件传播等。核心接口是ApplicationContext
- EL模块:提供强大的表达式语言支持,支持访问和修改属性值,方法调用等
AOP、Aspects模块:提供面向切面编程功能
数据访问/集成模块:该模块包括了JDBC、ORM、OXM、JMS和事务管理。
Web/Remoting模块:Web/Remoting模块包含了Web、Web-Servlet、Web-Struts、Web-Porlet模块
Test模块: Spring支持Junit和TestNG测试框架,而且还额外提供了一些基于Spring的测试功能,比如在测试Web框架时,模拟Http请求的功能。
参考:
http://sishuok.Xcom/forum/blogPost/list/2426.html