Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring大概由20种模块组成,分为核心容器(Core Container), 数据访问/集成(Data Access/Integration), Web, AOP, 工具(Instrumentation), 消息(Messaging), 测试用例(Test)。

1.核心容器(Core Container)
包含Core、Beans、Context和Expression Language模块:
(1)core 主要包含Spring框架基本的核心工具类
(2)beans 包含访问配置文件、创建和管理bean以及进行IoC/DI操作的相关类
(3)context 构建与Core和Beans之上,继承了Beans的特性,扩展添加了国际化、时间传播、资源加载和对Context的创建和支持。ApplicationContext接口便是这个的关键
(4)expression提供 一个强大的表达式语言用于在运行时查询和操作对象,该语言支持设置/获取属性值,属性的分配,方法的调用,访问数组上下文、容器和索引器、逻辑和算是运算符、命名变量以及从Spring的容器中根据名称检索对象
2.数据访问/集成(Data Access/ Integration)
包含JDBC, ORM, OXM, JSM,Transactions
(1)JDBC(Java DataBase Connectivity) 提供了JDBC抽象层,消除了冗长的JDBC编码和解析数据库厂商特有的错误代码.
spring-tx 为实现了特定接口的类提供了可编程的声明式事务管理支持,对所有的POJOs都适用
(2)ORM(Object Relational Mapping) 提供了对象相关映射(ORM)集成,包含JPA, JDO, Hibernate,使用spring-orm模块可以将这些框架与spring提供的特性结合在一起使用,比如事务管理.
(3)OXM(Object/XML Mapper) 提供了对Object/Xml Mapping实现的抽象,包括JAXB,Castor, XMLBeans, JiBX以及XStream.
(4)JSM(Java Messaging Service) 包含了一些生产和消费消息的特性,从spring Framework 4.1开始,提供了与spring-messaging集成.
(5)Transactions 模块支持事务管理。
3.Web
包含了Web、WebServlet、WebSocket和Porlet模块
(1)Web 提供了基础的面向Web的集成特性
(2)WebServlet 包含Spring的model-view-controller(MVC)实现,并集成了Spring框架的所有其他特性
(3)WebSocket 目的是浏览器与服务端建立全双工的通信方式,解决http请求-响应带来过多的资源消耗
(4)Web-Porlet模块:提供了用于Portlet环境和Web-Servlet模块的MVC的实现
4.AOP
包含AOP,Aspects,Instrument,Messaging
(1)AOP 提供了一个AOP联盟标准的面向方面编程的实现,它允许你定义方法拦截器与切入点,从而将逻辑代码与实现函数进行分离
(2)Aspects 提供了与AspectJ的集成
(3)Instrument 提供了一定的应用服务器中使用类工具的支持和类加载器实现
(4) Messaging是spring4新增加的模块,包含了一部分主要的基于message的应用的实现
5.Test
该模块通过Junit或TestNG对spring的组件提供了单元测试和集成测试
网友评论