Spring2 学习笔记
2.Spring framework七个模块:
Spring 框架包含许多特性,并被很好的组织在下图所示的七个模块中。将依次介绍每个模块。
2.1. Spring Core
Core 封装包是框架的最基础部分,提供IoC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需求,并真正允许你从程序逻辑中分离出依赖关系和配置。
单例模式(Singleton Pattern)是 Java
中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
注意:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
2.2. Spring Context
构建于Core封装包基础上的Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),
事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。
2.3. Spring DAO
DAO提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。并且,JDBC
封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的
P0J0s(plain old Java objects)都适用
2.4. Spring ROM
ORM封装包提供了常用的“对象/关系”映射APIs的集成层。其中包括JPA、JDO、Hibernate和
iBatis。利用ORM封装包,可以混合使用所有Spring?提供的特性进行“对象/关系”映射,如前边提到
的简单声明性事务管理。
2.5. Spring AOP
Spring的AOP封装包提供了符合AOP Alliance规范的面向方面的编程(aspect-oriented
programming)实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts)
,从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。而且,利用source-level的元数据功能
,还可以将各种行为信息合并到你的代码中,这有点象.Net的attribute的概念。
2.6. Spring Web
Spring中的Web包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet
listenersi进行IoC容器初始化和针对Web的application context。当与WebWork.或Struts一起使用
Spring时,这个包使Spring可与其他框架结合。
2.7. Spring MVC
Spring中的MVC封装包提供了Web应用的Model-View-Controller(MWC)实现。Spring的MVC框架并不
是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模型代码和web form,之间。并
且,还可以借助Spring框架的其他特性。