博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring源码阅读 一
阅读量:3923 次
发布时间:2019-05-23

本文共 1255 字,大约阅读时间需要 4 分钟。

本spring源码系列博客,参照spring源码深度解析

第一章 Spring整体架构

spring框架是一个分层架构,它包含一系列的功能要素,并大约被分为20个模块

在这里插入图片描述这些模块被总结为一下几个部分
( 一 )Core Container
核心容器包含core,beans,context和Expression Language(表达式语言)模块
core和bean是框架的基础部分,提供ioc(控制反转)和依赖注入等等特性

  1. core模块主要包含了spring框架的基本核心工具,spring的其他组件都要使用到这一个包的类,core模块是其他组件的基本核心
  2. bean模块是所有应用都需要用到的,他包含访问配置文件,创建和管理bean以及inversion of
    Control/Dependency Injection (IOC/DI)等等操作的相关类
  3. context 模块构键于core和bean模块之上,提供了一种类似于JNDI注册器的框架式对象访问方式,context继承了beans的特性,为spring核心提供了大量扩展
  4. expressionLanguage 提供了一个强大的表达式语言用于运行时的查询和操作对象

( 二 )Data Access/Integration

data access/integration 层包含有JDBC,ORM,OXM,JMS和Transaction模块,其中

  1. jdbc 模块提供了一个JDBC的抽象层,它可以消除大量的jdbc的编码和解析数据库厂商特有的错误代码

  2. orm 模块为流行的对象-关系映射api,提供了一个交互层

  3. oxm 提供了一个对object/xml 映射失效的抽象层,其中Object/xml 映射实现包括JDO ,Hidernate 等等

  4. JMS 制造消费消息

  5. Transaction 模式支持编程和声明式的事务管理

    ( 三 )Web
    web上下文模块建立在应用程序上下文的基础之上,为基于Web的应用程序提供了上下文,所以spring框架支持于Jacketa Struts 的集成,web模块还简化了处理部分请求以及请求参数绑定到域对象的工作

  6. web,提供了基础的面向web的集成特性,例如多文件上传,使用servlet listeners 初始化ioc 容器以及一个面向web的应用上下文

  7. web-servlet 模块,包含mvc 的实现,spring的mvc 框架使得模型范围内的代码webForm 之间可以清除的分离开来

  8. web-struts,对sturus的支持

  9. web-porlet 提供用于portlet环境和web-servlet模块的mvc 的实现

  10. ( 四 )AOP

  11. AOP模块提供了一个符合AOP编程的面向切面的编程实现

  12. Aspects 模块提供了对Aspects的集成

  13. Instrumentation 提供了对于class instument的支持

  14. tetst 测试模块

环境搭建

git 拉取代码

iead 编译 具体百度

转载地址:http://cnkgn.baihongyu.com/

你可能感兴趣的文章
剑指 Offer 26. 树的子结构
查看>>
剑指 Offer 27. 二叉树的镜像
查看>>
剑指 Offer 29. 顺时针打印矩阵
查看>>
剑指 Offer 31. 栈的压入、弹出序列
查看>>
剑指 Offer 32 - III. 从上到下打印二叉树 III
查看>>
剑指 Offer 33. 二叉搜索树的后序遍历序列
查看>>
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
查看>>
剑指 Offer 68 - II. 二叉树的最近公共祖先
查看>>
剑指 Offer 18. 删除链表的节点
查看>>
剑指 Offer 32 - II. 从上到下打印二叉树 II
查看>>
杭电oj-2011 多项式求和 C++
查看>>
杭电oj-2014 青年歌手大奖赛_评委会打分 C++
查看>>
杭电oj-2015 偶数求和 C++
查看>>
杭电oj-2016 数据的交换输出 C++
查看>>
杭电oj-2017 字符串统计 C++
查看>>
杭电oj-2018 母牛的故事 C++
查看>>
Educational Codeforces Round 87 (Rated for Div. 2)----题目+题解(A、B)
查看>>
Codeforces Round #647 (Div. 2) - Thanks, Algo Muse!B. Johnny and His Hobbies(异或)---题解
查看>>
使用WinINet获取网页源代码
查看>>
Ansi、Unicode、UTF-8字符串之间的转换和写入文本文件
查看>>