Spring-整体概况

  • Core Container 核心层

Core Container核心容器,包含Core,Beans,Context,Expression Language模块

Core和Beans模块是Spring框架的基础部分,提供IOC(控制反转)和依赖注入特性

 

Core模块:

    主要包含Spring框架基本的核心工具类,是其他组件的基础

    Spring的其他组件都要使用到Core模块中的类

 

Beans模块:

    包含访问配置文件,创建和管理bean以及IOC/ID操作相关的所有类

    Spring所有模块都需要依赖与Beans模块,才能正常使用

 

Context模块:

    构建于Core和Beans模块之上,提供了类似于JNDI注册器的框架式对象访问方法

    Context模块继承了Beans模块特性,并对Spring核心提供了大量扩展

    添加了对国际化,事件传播,资源加载和对Context透明创建的支持

    同时支持J2EE特性,如EJB,JMX和基础远程处理

    ApplicationContext接口是Context模块的关键

 

Expression Language模块:

    提供了一个强大的表达式语言,可用于在运行时查询和操作对象

    该语言支持设置/获取属性值,属性的分配,方法的调用,访问数组上下文、容器和索引器、

    逻辑和算术运算符、命名变量以及从Spring的IOC容器中根据名称检索对象

    还支持List投影,选择和一般的list聚合

  • Data Access/Integration 数据访问层,交互层

Data Access/Integration层包含JDBC,ORM,OXM,JMS和Transaction模块

 

JDBC模块:

    提供了一个JDBC抽象层,消除JDBC冗余的编码和解析数据库厂商特有的错误代码

    JDBC模块包含了Spring对JDBC数据访问进行封装的所有类

 

ORM模块:

    ORM模块为对象-关系映射API提供了一个交互层

    可以混合使用所有Spring提供的特性进行O/R映射,如简单声明性事务管理

    Spring框架引入了若干ORM框架,如:JPA,JDO,Hibernate,iBatis等

    这些全部遵从与Spring的通用事务和DAO异常层次结构

 

OXM模块:

    OXM模块提供了针对Object/XML映射实现的抽象层

    具体实现包括:JAXB,Castor,XMLBeans,JiBX和XStream

 

JMS模块

    JMS模块:java Message Service

    主要是包含制造和消费消息的特性

 

Transaction模块:

    支持编程和声明性事务管理

    事务类必须实现特定接口,适用于所有POJO

  • Web

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

Web层包含了Web,Web-Servlet,Web-Struts和Web-Porlet模块

 

Web模块:

    提供了基础的面向Web的集成特性

    如:多文件上传,使用servlet listeners初始化IOC容器

    以及一个面向Web的应用上下文,还包含Spring远程支持中Web相关部分

 

Web-Servlet模块-web.servlet.jar:

    该模块包含Spring的model-view-controller(MVC)实现

    Spring MVC框架模型范围内的代码和web forms之间能清晰地实现分离,

    并与Spring框架其他的特性集成在一起

 

Web-Struts模块:

    提供了对Struts的支持

    使得类在Spring应用中能与一个典型的Struts Web层集成在一起

    注意:在Spring 3.0中对struts的支持为deprecated

 

Web-Porlet模块:

    提供了用于Portlet环境和Web-Servlet模块的MVC实现

  • AOP

Spring集成了AspectJ作为AOP的特定实现,

还在JVM动态代理/CGLIB的基础上实现了AOP框架

AOP模块提供了一个符合AOP联盟标准的面向切面编程的实现

可以定义如方法拦截器和切点,从而将逻辑代码分离,降低耦合性

 

通过配置管理特性,Spring AOP模块将面向切面的编程功能集成到Spring框架中

使得Spring框架管理的任何对象支持AOP,将各种行为合并到代码中

 

Spring AOP模块:为基于Spring的对象提供事务管理服务

Aspects模块:提供了对AspectJ的集成支持

Instrumentation模块:

    提供了class instrumentation支持和classloader实现

    使得可以在特定的应用服务器上使用

  • Test

Test模块支持使用JUnit和TestNG对Spring组件进行测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值