java开源框架源码解析,Spring源码阅读之准备篇-Spring整体架构分析

前言

Spring是2003年兴起的一个轻量级的Java开源框架,是为了解决企业应用开发的复杂性而创建的,它使用基本的javaBean来完成以前只可能由EJB完成的事情。但是,Spring的用途不仅仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何的java应用都可以从Spring中受益。

Spring的整体架构

Spring框架是一个分层的架构,它包含一系列的功能要素,并被分为大约20个模块,其系统架构图如下图所示:

247b5aa7eb8c6971be284830fae56476.png

具体模块解释:

Core Container

Core Contaioner(核心容器)包含有Core、Beans、Context和Expression Language模块。 Core和Beans模块是框架的基础部分,提供IoC和依赖注入特性。在这里的基础概念是BeanFactory,它提供对Factory的经典实现来消除对程序性单例模式的需要,并真正的允许从程序逻辑中分理处依赖关系和配置;

Core模块主要包含Spring框架基本的核心工具类,Spring的其他的组件都要使用到这个包里的类,Core模块是其他组件的基本核心;

Beans模块是所有应用都会用到的,它包含访问配置文件、创建和管理bean以及依赖注入操作相关的所有类;

Context模块构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法。Context模块继承了Beans的特性,为Spring核心提供了大量的扩展。ApplicationContext接口是Context模块的关键;

Expression Language模块提供了强大的表达式语言用于在运行时查询和操纵对象。

Data Access/Integration

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

JDBC模块:提供一个JDBC抽象层,可以消除冗长的JDBC编码和数据解析。这个模块包含了Spring对JDBC数据访问进行封装的所有类;

ORM模块:为对象-关系映射API(比如Hibernate、iBatis等)提供交互层;

OXM模块:提供一个对Object/XML映射实现的抽象层;

JMS模块:主要包含一些制造和消费消息的特性;

Transaction模块:支持编程和声明性的事物管理。

Web

Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。Web模块简化了处理多部分请求以及将请求参数绑定到域对象的工作。Web层包含了Web,Web-Servlet,Web-Struts和Web-Porlet模块。

Web模块:提供了基础的面向Web的集成特性,比如初始化IoC容器以及一个面向Web的应用上下文;

Web-Servlet模块:包含了Spring MVC的实现;

Web-Struts模块:提供了对Struts的支持;

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

AOP

AOP模块提供了一个符合AOP标准的面向切面编程的实现。包含Aspects和Instrumentation两个模块。

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

Instrumentation模块:提供了class Instrumentation支持和classloader实现,使得可以在特定的应用服务器上使用。

Test

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

来源:[]()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值