spring源码解析1--spring整体架构
一、Spring整体架构图
关于Spring的基本介绍就不再赘述了,先展示Spring框架的整体架构图如下示:

二、Spring结构介绍
Spring主要分为Core Container、Test、Data Access、Web、AOP、Aspects等几个大模块,而Spring最核心的模块就是Core Container之后的Beans、Core、Context三个模块
Core:包含Spring基本的核心工具类,Spring的其他组件都需要使用这个包中的工具类,是最基本的核心包
Beans:该模块是访问配置文件、创建和管理bean以及Spring的IOC操作的所有类,该模块的核心是BeanFactory
Context:该模块是基于core和bean构建,相当于对bean进行封装及扩展来对外提供使用,ApplicationContext接口是Context模块的核心
ExpressionLanguage:提供了一个强大的表达式语音用于在运行时查询和操作对象。
Data Access/Integration模块主要提供了数据访问的支持
JDBC:提供了一个JDBC的抽象层,封装了JDBC数据访问的所有类
ORM:为流行的对象-关系映射API,如mybatis、hibernate等提供了交互层
OXM:提供了一个队Object/XML映射实现的抽象层,包括JAXB、Castor、XMLBeans、JiBX和XStream
JMS:主要包含了一些制造和消费消息的特性
Transactions:支持编程和声明式事务管理
Web为基于web的应用提供了上下文
Web:提供了基础的面向web的集成特性
servlet:包含了MVC的实现
struts:提供了对struts的支持
protlet:提供了用于porlet环境和servlet模块的mvc实现
AOP模块提供了面向切面编程的实现,并且为spring应用程序中的对象提供了事务管理服务
Aspects模块提供了对AspectJ的集成支持
Instrumentation模块提供了class instrumentation支持和class loader实现,使得可以在特定的应用服务器上使用
spring源码解析1--spring整体架构的更多相关文章
- Kafka Producer源码解析一:整体架构
一.Producer整体架构 Kafka Producer端的架构整体也是一个生产者-消费者模式 Producer线程调用send时,只是将数据序列化后放入对应TopicPartition的Deque ...
- Spring5源码解析-论Spring DispatcherServlet的生命周期
Spring Web框架架构的主要部分是DispatcherServlet.也就是本文中重点介绍的对象. 在本文的第一部分中,我们将看到基于Spring的DispatcherServlet的主要概念: ...
- spring 源码解析
1. [文件] spring源码.txt ~ 15B 下载(167) ? 1 springн┤┬вио╬Ш: 2. [文件] spring源码分析之AOP.txt ~ 15KB 下载( ...
- Spring源码解析 - AbstractBeanFactory 实现接口与父类分析
我们先来看类图吧: 除了BeanFactory这一支的接口,AbstractBeanFactory主要实现了AliasRegistry和SingletonBeanRegistry接口. 这边主要提供了 ...
- Spring源码解析——循环依赖的解决方案
一.前言 承接<Spring源码解析--创建bean>.<Spring源码解析--创建bean的实例>,我们今天接着聊聊,循环依赖的解决方案,即创建bean的ObjectFac ...
- Spring源码解析-ioc容器的设计
Spring源码解析-ioc容器的设计 1 IoC容器系列的设计:BeanFactory和ApplicatioContext 在Spring容器中,主要分为两个主要的容器系列,一个是实现BeanFac ...
- Spring源码解析系列汇总
相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的Spring源码解析系列文章的汇总,总共包含以下专题.喜欢的同学可以收藏起来以备不时之需 SpringIOC源码解析(上) 本篇文章搭建了IOC源 ...
- Spring源码解析之PropertyPlaceholderHelper(占位符解析器)
Spring源码解析之PropertyPlaceholderHelper(占位符解析器) https://blog.csdn.net/weixin_39471249/article/details/7 ...
- Spring源码解析之BeanFactoryPostProcessor(三)
在上一章中笔者介绍了refresh()的<1>处是如何获取beanFactory对象,下面我们要来学习refresh()方法的<2>处是如何调用invokeBeanFactor ...
- Spring源码解析之ConfigurationClassPostProcessor(二)
上一个章节,笔者向大家介绍了spring是如何来过滤配置类的,下面我们来看看在过滤出配置类后,spring是如何来解析配置类的.首先过滤出来的配置类会存放在configCandidates列表, 在代 ...
随机推荐
- js获取手机信息
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- AJAX_违反了同源策略_就是"跨域"——jsonp 和 cors
https 协议 默认端口号 443 http 协议 默认端口号 80 同源策略 由网景公司提出的——浏览器 的 为了浏览器安全而生 同源策略: 协议.域名.端口号 必须完全一致 违 ...
- Qt支持哪些硬件通信协议???
如题,广大使用Qt开发嵌入式的伙伴们知道Qt支持哪些硬件通信协议的开发???目前已知的串口和网络TCP/IP协议开发支持,其他的呢??? 欢迎留言交流!!!
- 微信小程序wx.showLoading
效果图: 代码: wx.showLoading({ title: '加载中...', }) wx.request({ url: '', success(res){}, fail(){}, comple ...
- 网络编程之socketserver以及socket更多方法
关于socketserver 关于socket的更多方法 服务端套接字函数: s.bind() 绑定(主机,端口号)到套接字 s.listen() 开始tcp监听 s.accept () 被动接受tc ...
- 嵌入式linux内存越界定位和解决 (转)
https://blog.csdn.net/meejoy/article/details/41729585 https://blog.csdn.net/killmice/article/details ...
- Express全系列教程之(一):Express的安装 和第一个程序
前言 ndoe.js,一个基于javsscript运行环境的服务器语言,它的出现使得javascript有能力去实现服务器操作.在gitHub上ndoe.js的star数已接近6万,可见其受欢迎程度: ...
- Tengine+Lua+GraphicsMagick
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! 使用 Tengine+Lua+GraphicsMagick 实现图片自动裁剪缩放 需求 : 图片 ...
- mysql查询两个日期之前相隔的天数
select timestampdiff(SECOND,'2011-09-25 23:23:13','2011-09-26 22:23:11'); 其中SECOND同样可以改为HOUR,MINUTE
- Linux协议栈-netfilter-conntrack
原文连接:https://blog.csdn.net/jasonchen_gbd/article/details/44874321?utm_source=blogxgwz8