我对Spring的理解
- 主要构成:依赖注入容器,AOP实现、DAO/ORM支持、Web集成
- Core封装包:提供IoC依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,真正地允许从成程序逻辑中分分离出依赖关系和配置。
- 构建与Core封装包基础上的Context封装包,提供了一种框架式的对象访问方法。Context封装包的特性来自于Beans封装包,并添加了对国际化(I18N)的支持(如资源绑定)时间传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器
- DAO提供了JDBC的抽象层,JDBC包提供了一种比编程性更好的声明性事务管理方法,实现了特定接口并对所有的POJO都适用。
- ORM封装包提供了常用的"对象-关系"映射API的集成层。利用ORM包,可以混合使用所有Spring提供的特性进行"对象-关系"映射。
- Spring的AOP封装包提供了符合AOP(Aspect—oriented-programming)面向切面编程。
- Spring的Web包提供了基础的针对web开发的集成特性,当与WebWork或struts一起使用Spring时,这个包可以与其他框架结合。
- Spring的MVC框架提供了一种清晰的分离模型,并且在领域模型代码和web form之间,还可以借助Spring框架的其他特性