码迷,mamicode.com
首页 > 编程语言 > 详细

[译]3-Spring架构

时间:2015-05-04 20:08:27      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

Spring本可以设计成为一个“一站式”的框架(fat jar、uber jar),但是Spring的开发者没有这么做,而是以模块化

的方式开发Spring,这样的话用户就可以根据实际情况引入需要的Spring模块,而不必引入其他模块。本节我们将会

介绍Spring中所有的模块。

概览

Spring4.1.6包括20个模块,如下:

技术分享

 

Core Container(核心容器)

core container包括core模块、beans模块、context模块、SpEL表达式模块,作用分别如下:

  • core:提供框架基础功能,如字节码操作工具等
  • beans:早期Spring IOC容器的实现类BeanFactory就包含在该模块中
  • context:构建在core模块和beans模块之上,主要提供了Spring IOC容器ApplicationContext
  • SpEL:表达式语言,可以在运行期查询和操作对象图。

Data Access/Integration(数据获取/集成)

Spring的数据获取/集成主要包括jdbc模块、orm模块、oxm模块、jms模块、transactions模块。功能如下:

  • jdbc:提供了一个jdbc的抽象层,把用户从编写繁杂的jdbc代码中解放出来,并可方便的管理事务。
  • orm:提供了跟主流orm(对象关系映射)框架集成的功能,如hibernate、jdo等,如下:
    技术分享
  • oxm:提供了跟主流oxm(对象、XML映射)框架继承的功能,如xstream等,如下:
    技术分享
  • jms:提供了产生和消费jms消息的功能
  • transaction:事务处理功能,支持声明式事务

Web

spring的web主要包括web模块、webmvc模块、webmvc portlet模块、websocket模块。功能如下:

  • web:提供web的基础功能,如文件上传等
  • webmvc:即spring-mvc,spring的mvc框架的实现
  • webmvc portlet:spring的门户组件包
  • websocket:spring针对websocket(html5中进行定义,实现http双向通信)的实现包

其他

除了上述列出的模块外,还有test模块、aop模块、aspects模块、Instrumentation模块、messaging模块。如下:

  • aop:spring中提供面向切面编程的模块
  • aspects:提供了跟AspectJ的继承。AspectJ是另外一个非常牛的AOP框架
  • Instrumentation:可用于Spring容器中对象的监控
  • messaging:消息服务。支持stomp协议
  • test:测试模块,可使用jUnit或TestNG单元测试框架测试spring组件。

 

[译]3-Spring架构

标签:

原文地址:http://www.cnblogs.com/sysman/p/4477080.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!