1.3 Spring的优势
1.方便解耦 简化开发
能将所有对象的创建和依赖关系的维护工作都交给Spring容器的管理降低了组件之间的耦合性。
2.支持AOP
Spring的AOP的支持它允许将一些通用任务如安全事物日志等进行集中式处理从而提高了程序从而可以轻松实现AOP。
3.支持声明式事务处理
只需要通过配置就可以完成对事物的管理,而无须手动编程。
4.方便程序的测试
用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是很难的操作,而是随手可做的事情。
5.方便集成各种优秀框架
Spring提供了对各种优秀框架(Struts、Hibernate、Hessian、Quartz等)的直接支持
6.降低 javaEE APL的使用难度
Spring提供了对各种优秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。
7、源码是经典的Java学习规范
Spring的源码设计精妙、结构清晰、匠心独用。
1.4Spring的体系结构
Data Access intergration | JDBC | ROM |
Data Access intergration | oxm | jms |
Data Access intergration | Transactions |
web | webSocket | serviet |
web | web | Portiest |
AOP | Aspects | lnstrunmentation | Messaging |
coreContainer有 | Beans | beans | context | sqel |
Test |
1. Data Access/Integration(数据访问/集成)
数据访问/集成层包括 JDBC、ORM、OXM、JMS 和 Transactions 模块,具体介绍如下。
JDBC 模块: JDBC 的抽象层,大幅度减少了在开发过程中对数据库操作的编码。
ORM 模块:对流行的对象关系映射 API,包括 JPA、JDO、Hibernate 和 iBatis 提供了的集成层。
OXM 模块:提供了对象/XML 映射的抽象层实现,如 JAXB、Castor、XMLBeans、JiBX 和 XStream。
Transactions :支持编程和声明式事务管理实现特殊接口类,并为所有的 POJO。
Web模块。
Servlet模块:。
Struts 模块层。
Portlet 模块:
3. Core Container(核心容器)
Spring 的核心容器是其他模块建立的基础,由 Beans 模块、Core 核心模块、Context 上下文模块和 Expression Language 表达式语言模块组成。
Beans 模块:提供了 BeanFactory,Spring 将管理对象称为 Bean。
Core 核心模块:提供了 Spring ,包括 IoC 和 DI 功能。。
4. 其他模块
Spring的其他模块还有 AOP、Aspects、Instrumentation 以及 Test 模块。
AOP 模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性。
Aspects 模块:提供与 AspectJ 的集成,是一个功能强大且成熟的面向切面编程(AOP)框架。
Instrumentation 模块:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用。
Test 模块:支持 Spring 组件,使用 JUnit 或 TestNG 框架的测试。