一,spring的整体架构

 一,spring的整体架构

spring是一个分层架构,被分为大约有20个模块,主要分为五大类。

一(1),Core Container(核心容器)

    Core核心容器模块 包括 core , beans ,context , Expression Language模块。core和beans 模块是框架的基础部分(beanfactory)提供IOC和依赖注入的特性。

  • core模块是spring的核心工具类,spring的其他组件都要用到这个包里的类。

  • bean模块是所有应用都要用到的,包含访问配置文件,创建管理bean 以及进行控制反转和依赖注入的各种操作

  • context模块构建于core和beans模块之上,继承了beans的特性,为spring核心提供了大量拓展,添加了对国际化例如资源绑定,事件传播,资源加载和对context透明创建的支持。ApplicationContext接口是Context模块的关键。 

  • Expression language模块提供了一个强大的表达式语言用于在运行时查询和操纵对象。支持设置和获取属性的值,属性的分配,方法的调用,访问数组上下文,容器和索引器,逻辑和算术运算符,命名变量和从IOC容器中根据名称检索对象,支持list投影,选择,和一般的list聚合。

一(2),Data Access/Integration

Data Access/Integration层包含有JDBC,ORM,OXM,JMS和Trascation模块,其中:

  • JDBC模块提供了一个JDBC抽象层,包含了spring对JDBC数据访问进行封装的所有类。
  • ORM模块为流行的对象-关系映射API,入JPA,JDO,Hibernate,iBatis等,提供了一个交互层,利用ORM封装包可以混合所有spring提供的特性进行O/R映射。
  • OXM模块提供了Obeject/XML映射实现的抽象层,包括JAXB, Castor,  XMLBeans, JiBX,  XStream。
  • JMS模块主要包含了一些制造和消费消息的特性。
  • Transaction模块支持编程和声明性的事物管理,这些事物类必须实现特定的接口,并对所有的pojo都适用。

一(3),web

web上下文模块建立在应用程序上下文模块之上,为基于web的应用程序提供了上下文。

  • web模块,提供了基础的面向web的集成特性。例如,多文件上传等
  • web-servlet模块,包含了spring的modile-view-controller(MVC)实现。
  • web-struts模块,提供了对于struts的支持。
  • web-porlet模块,提供了porlet环境和web-servlet模块的MVC实现。

一(4),aop

AOP模块可以定义方法拦截器和切点,从而将逻辑代码分开,降低耦合性。

  • aspects模块提供了对于AspectJ的定义支持。
  • Instrumentation模块提供了class instrumentation支持和classloader实现,使得可以在特定的应用服务器上使用。

一(5),test

test模块支持用Junit和TestNG对spring组件进行测试。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章