一、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整体架构的更多相关文章

  1. Kafka Producer源码解析一:整体架构

    一.Producer整体架构 Kafka Producer端的架构整体也是一个生产者-消费者模式 Producer线程调用send时,只是将数据序列化后放入对应TopicPartition的Deque ...

  2. Spring5源码解析-论Spring DispatcherServlet的生命周期

    Spring Web框架架构的主要部分是DispatcherServlet.也就是本文中重点介绍的对象. 在本文的第一部分中,我们将看到基于Spring的DispatcherServlet的主要概念: ...

  3. spring 源码解析

    1. [文件] spring源码.txt ~ 15B     下载(167) ? 1 springн┤┬вио╬Ш: 2. [文件] spring源码分析之AOP.txt ~ 15KB     下载( ...

  4. Spring源码解析 - AbstractBeanFactory 实现接口与父类分析

    我们先来看类图吧: 除了BeanFactory这一支的接口,AbstractBeanFactory主要实现了AliasRegistry和SingletonBeanRegistry接口. 这边主要提供了 ...

  5. Spring源码解析——循环依赖的解决方案

    一.前言 承接<Spring源码解析--创建bean>.<Spring源码解析--创建bean的实例>,我们今天接着聊聊,循环依赖的解决方案,即创建bean的ObjectFac ...

  6. Spring源码解析-ioc容器的设计

    Spring源码解析-ioc容器的设计 1 IoC容器系列的设计:BeanFactory和ApplicatioContext 在Spring容器中,主要分为两个主要的容器系列,一个是实现BeanFac ...

  7. Spring源码解析系列汇总

    相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的Spring源码解析系列文章的汇总,总共包含以下专题.喜欢的同学可以收藏起来以备不时之需 SpringIOC源码解析(上) 本篇文章搭建了IOC源 ...

  8. Spring源码解析之PropertyPlaceholderHelper(占位符解析器)

    Spring源码解析之PropertyPlaceholderHelper(占位符解析器) https://blog.csdn.net/weixin_39471249/article/details/7 ...

  9. Spring源码解析之BeanFactoryPostProcessor(三)

    在上一章中笔者介绍了refresh()的<1>处是如何获取beanFactory对象,下面我们要来学习refresh()方法的<2>处是如何调用invokeBeanFactor ...

  10. Spring源码解析之ConfigurationClassPostProcessor(二)

    上一个章节,笔者向大家介绍了spring是如何来过滤配置类的,下面我们来看看在过滤出配置类后,spring是如何来解析配置类的.首先过滤出来的配置类会存放在configCandidates列表, 在代 ...

随机推荐

  1. 用cocoapods导入第三方库,找不到对应的文件

    解决办法 1.找到TARGETS -> Build Settings -> SearchPaths -> User Header Search Paths  在后面的空白处双击 2. ...

  2. jmeter--001.介绍、下载与安装

    一.介绍 使用场景: -1.接口测试 -2.性能测试 .... 特点: -1.开源.轻量级.插件化 -2.适合自动化和持续集成 二.下载(Windows环境) 下载网址:http://jmeter.a ...

  3. 在Windows上安装Nexus 3.2.0-01

      在Windows上安装Nexus 环境: Windows 7 apache-maven-3.3.9 JDK 1.8 下载Nexus: https://sonatype-download.globa ...

  4. CSS3_移动端_开机动画

    移动端的 开机动画 <meta name="viewport" content="width=device-width, initial-scale=1, user ...

  5. Java课程寒假之开发记账本软件(Android版)之一

    一.选择编译软件 最终选择了目前较为流行的Android Studio,网上的评价都比较偏向于好评. 安装的过程还算比较正常,没有什么太大的波折,解压安装虽然直接,但对于我这种每次装编译软件都有形形色 ...

  6. iOS—使用picker View

    iOS—使用picker View 一.实现效果 说明:点击随机按钮,能够自动选取,下方数据自动刷新. 二.实现思路 1.picker view的有默认高度为162,不可修改. 2.显示数据,需要设置 ...

  7. 邮件服务器安装--Postfix + Dovecot + Squirrelmail--CentOS 6.4

    英文原文链接 : http://www.unixmen.com/install-postfix-mail-server-with-dovecot-and-squirrelmail-on-centos- ...

  8. python 配置文件返回的两种方式,写法不一样而已

    配置文件如下: [MODE]mode:{ "register":"all"} 或者 mode = {"register":"all ...

  9. [daily] emacs显示file name buffer的全路径

    在用emacs看代码的时候,在文件间跳来跳去,如果工程太大的话,很可能会有重名文件,这个时候, 你就不知道自己在什么的地方了.需要一个查看当前正在编辑区的文件的名字的方法. emacs在这个地方,存储 ...

  10. fiddler4微信抓包教程

    使用fiddler来抓包: 需要先做一些简单的准备工作: 一台带有无线网卡的PC或者笔记本电脑,然后将电脑和手机连接到同一个Wi-Fi网络中,并且保证二者是在同一个ip网段内的: 在电脑上安装 Fid ...