Spring有如下6个模块
Core 是框架的基础,提供了IoC和依赖注入的特性。最基础的是BeanFactory, 可以解决你对单例编程的需求,以及较少实际程序逻辑之间的依赖关系。
Context 建立在核心基础上:提供了一种类似JNDI注册形式的访问类的方法。增加了对I18N,事件传播,资源读取和透明的创建上下文
DAO 提供了JDBC级别的抽象,可以不再使用枯燥的JDBC编码和处理数据库异常的代码。支持声明式的事务管理,可以用于POJO
ORM 提供了与流行的对象-关系影射工具的交互,包括JPA,JDO,Hibernate,iBatis. 可以额外提供简单的声明式事务。
AOP 提供标准的AOP实现
MVC 我不用,也不想用!
最重要的2个类 BeanFactory 和 ApplicationContext? 后者提供了更多的特性
spring-overview.png