当前位置: 首页 > news >正文

系统架构——Spring Framework

目录

(1)基本介绍

(2)基本发展历史

(3)了解和学习 Spring 4.x 系列的系统架构

1、第一个模块:做核心容器(Core Contaner)

2、第二个模块:AOP与Aspects(这是 Spring 技术的第二个核心的大块)

3、第三个模块:Data Access(数据访问)和 Data lntegration (数据集成)

4、第四个模块:Web相关的东西

5、最后一个模块:Test

(4)小结


(1)基本介绍

  • Spring FrameworkSpring 生态圈中最基础的项目。其它所有的项目的都是在它的基础上运行使用。

(也是 Spring 的 " 全家桶 " 最顶级的项目)

(2)基本发展历史

它的系统架构也经过了若干个版本的迭代,由一系列的架构图逐步发展出来。我们学习的 Spring 5.x 的系列官方并没有详细的架构图,说明在 Spring 4.x 系列的版本已经逐渐趋于稳定。

(可以看到每个版本都会有一些模块关系的调整,加入了一些新的东西或者去掉小的功能)

(3)了解和学习 Spring 4.x 系列的系统架构

1、第一个模块:做核心容器(Core Contaner

    这个模块是 Spring 框架中的最核心的部分,其它所有的模块都是依赖它运行的。看到这个是容器,它就是用来装东西的。对于 Java 程序 来说,只有一种东西可以装:" 对象 "

    对于这样一个结构设计来说,它是 Spring 一个用来管对象的技术。

(这是 Sping 系统架构的第一块)

2、第二个模块:AOP与Aspects(这是 Spring 技术的第二个核心的大块)

(首先要了解一下:系统架构图讲究上层依赖于下层)

    AOP 的位置放在这里,是要依赖于核心容器的执行。AOP:面向切面编程。与我们学的面向对象编程差不多,也是一种编程思想。它教程序该怎么做,是一种设计型的概念。

    而我们的 Spring 对这种设计型的概念进行了落地,它可以在不惊动原始程序的基础上,去增强功能。

    Aspects:是一个思想,Spring 技术对它做出了实现,而 Aspects AOP 思想做出了实现。

(后面我们学习 Spring AOP 开发时,除了要倒 Spring AOP 的坐标,还要导 Aspects 的坐标)

3、第三个模块:Data Access(数据访问)和 Data lntegration (数据集成)

(有一个 Data Access Object :数据访问对象)

看到这个这一模块就是与数据层面相关的技术。

    Data lntegration (数据集成):Spring 内部不仅提供了自主的访问数据层的技术,同时还支持用 Spring 技术与其它的技术整合使用。而这个集成就是它包容其它的技术,就比如:Mybatis。可以和 Spring 整合一起使用。

     还有一个需要单独介绍的:Transactions (事务/业务)。Spring 在事务方面做了很大的突破,提供了一种开发起来效率非常高的事务控制方案。(重点学习)

4、第四个模块:Web相关的东西

Spring 也可以进行 Web 开发,这一部分内容在后面的 Spring MVC 去学习。

5、最后一个模块:Test

最后一个模块不是在上面,而是在最下面。看到 Test ,我们就知道这是做测试的。

Spring 在单元测试和集成测试也提供了一些帮助性的操作。


以上就是整个 Spring 系统架构图的包含内容。

(4)小结

1、看完之后,第一个要学习的肯定是 Core Container(管对象的),所有的一切都是基于对象。

2、第二个就学习 SpringMybatis 的整合,学 Data AccessData lntegration(数据访问与集成)。接下来学第二个核心:AOP技术,然后学习 Spring 中的事务。至于测试比较简单。

相关文章:

系统架构——Spring Framework

目录 (1)基本介绍 (2)基本发展历史 (3)了解和学习 Spring 4.x 系列的系统架构 1、第一个模块:做核心容器(Core Contaner) 2、第二个模块:AOP与Aspects(这…...

Zig标准库:最全数据结构深度解析(1)

最近新闻看到17岁中专女生拿下阿里全球数学竞赛第12名。咱们学习标准库中的数据结构是和学习数学是一脉相承的,结构体很多,也非常枯燥,但是不能全面解读过一遍,你很难写出合理的代码。所以,这一章节我们开始深度解析Zi…...

什么是 Linux From Scratch (LFS)?

Linux From Scratch (LFS) 是一个项目和一本书,指导用户从头开始构建自己的自定义Linux系统,而不是使用现成的Linux发行版。LFS项目由 Gerard Beekmans 在1999年创建,旨在帮助用户了解Linux的内部工作原理,并提供对系统的完全控制…...

常见的宽基指数基金

指数基金投资指南 ❝ 这篇博客里面的内容主要来自于银行螺丝钉的《定投十年,财务自由》和《指数基金投资指南》这两本书中章“常见的宽基指数”,最近第三次读这本书,打算做一点笔记加深自己的印象。 博客中很多内容是从书中摘抄的&#xff0c…...

Python学习笔记6:pychram相关知识及安装教程,后续需要学习的入门知识

上篇文章说了,今天去公司重新装一下IDE,最后也是把过程这边再记录一下,有需要的可以参考一下。 关于pychram pychram是什么? PyCharm是由JetBrains公司开发的一款流行的Python集成开发环境(IDE)。它专为…...

dockerfile文件的中的命令

# 基础镜像 FROM registry.cn-beijing.aliyuncs.com/205erp/myopenjdk:8.6 # 设置工作目录 WORKDIR /opt # 拷贝jar包到工作目录 COPY target/*.jar app.jar RUN ls # 设置暴漏的端口 EXPOSE 8080 # 启动jar包 CMD java ${JAVA_TOOL_OPTIONS} -jar app.jar...

【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第十一章)模拟波形实验例程说明

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com) 适用于板卡型号: 紫光同创PG2L50H_MBG324开发平台(盘古PGX-Nano) 一:…...

LUA移植到STM32F4,移植REPL,通过RTT Viewer交互

概述 站内移植LUA多数是使用C函数调用LUA,并没有移植REPL交互端口 本文将REPL也移植进去,做了简单的适配 LUA源码使用标准C库函数,如fgets,fwrite等,在嵌入式环境中要使用fgets,fwrite等C库函数&#xff…...

【GD32F303红枫派使用手册】第十九节

19.1 实验内容 通过本实验主要学习以下内容: SPI简介 GD32F303 SPI简介 SPI NOR FLASH——GD25Q32ESIGR简介 使用GD32F303 SPI接口实现对GD25Q32ESIGR的读写操作 19.2 实验原理 19.2.1 SPI简介 SPI(Serial Peripheral interface)&…...

【C语言】扫雷游戏

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…...

逻辑蕴含、函数依赖集的闭包、Armstrong公理、属性集闭包

一、引言 Armstrong公理-从给定的函数依赖集得到关系模式的完整依赖集 二、逻辑蕴含 1、定义 设F是关系模式R上的函数依赖集,X、Y是R的属性子集,对于R的每个满足F的关系实例r,若函数 依赖都成立,则称F逻辑蕴含。 记为&#…...

macOS聚集搜索功能开启与关闭

按下command空格弹出 使用搜索 关闭搜索 sudo mdutil -a -i off 启用搜索 sudo mdutil -a -i on...

大模型“诸神之战”,落地才是赛点

ChatGPT 诞生已经快一年,你还在与它对话吗? 有的人用来写报告、改代码,让它成为得力帮手;有的人却只是“调戏”个两三回,让它创作诗歌或故事,便不再“宠幸”。 根据网站分析工具 SimilarWeb 的数据&#…...

接口重放攻击

如何保证接口安全,做到防篡改防重放?_接口防止串改-CSDN博客 接口安全设计之防篡改和防重放_接口防篡改机制-CSDN博客 基于nonce timestamp 的方案 nonce的意思是仅一次有效的随机字符串,要求每次请求时该参数要保证不同。实际使用用户信息…...

MySQL学习笔记-进阶篇-SQL优化

SQL优化 插入数据 insert优化 1)批量插入 insert into tb_user values(1,Tom),(2,Cat),(3,Jerry); 2)手动提交事务 mysql 默认是自动提交事务,这样会导致频繁的开启和提交事务,影响性能 start transaction insert into tb_us…...

【机器学习】第2章 线性回归及最大熵模型

一、概念 1.回归就是用一条曲线对数据点进行拟合,该曲线称为最佳拟合曲线,这个拟合过程称为回归。 2.一个自变量 叫 一元线性回归,大于一个自变量 叫 多元线性回归。 (1)多元回归:两个x,一个…...

科技创新对农业发展的影响

科技创新对农业发展的影响深远且广泛,主要体现在以下几个方面: 一、提高农业生产效率 引入先进的农业机械设备:新型农业机械设备如无人机、机器人等的应用,显著减轻了农民的劳动强度,提高了农作物的种植效率。利用精…...

Linux 常用命令 - rm 【删除文件或目录】

简介 rm 命令源于英文单词 “remove”,它用于删除文件或目录。rm 是 Linux 系统中最基本的命令之一,用于删除指定的文件或目录。默认情况下,rm 不会删除目录,但可以通过递归删除选项来实现。 使用方式 rm [选项]... [文件]...常…...

一血c++

题目描述 每一个竞赛选手都无法拒绝拿一血 "一血"其实就是同学们在榜单上看到的深绿色的标记,代表着某道题目,他是第一个通过的。 叶苡朋老师是一名资深信奥选手,在大学多次获奖,也是一个资深抢一血爱好者&#xff0…...

无问芯穹Qllm-Eval:制作多模型、多参数、多维度的量化方案

前言 近年来,大语言模型(Large Models, LLMs)受到学术界和工业界的广泛关注,得益于其在各种语言生成任务上的出色表现,大语言模型推动了各种人工智能应用(例如ChatGPT、Copilot等)的发展。然而…...

基于OpenClaw的多智能体AI系统:为神经多样性家庭构建本地化支持生态

1. 项目概述:一个为神经多样性家庭设计的AI支持系统如果你正在抚养一个神经多样性(如自闭症、ADHD等)的孩子或青少年,你可能会感到孤立无援。学校、医疗系统和社会支持网络常常是割裂的,你需要同时扮演教育协调员、行为…...

Bapaco机械键盘PC:x86计算平台与超宽触摸屏的创新融合

1. Bapaco机械键盘PC概述Bapaco是一款由深圳SIDIQIAO科技公司开发的创新型机械键盘PC设备,它将完整的x86计算平台与机械键盘和12.3英寸超宽触摸屏整合在一个紧凑的机身中。这款设备采用了Intel第12代Alder Lake架构的Core i5-1235U处理器,配备10核12线程…...

ARM架构MAIR寄存器配置与性能优化指南

1. ARM架构内存属性寄存器深度解析在ARMv8/v9架构中,内存属性寄存器(MAIR)是内存管理子系统的核心组件之一。作为长期从事ARM底层开发的工程师,我发现许多开发者对MAIR的理解仅停留在表面配置层面。本文将深入剖析MAIR_EL1的工作原理,分享实际…...

职场利器!OpenClaw 汉化版极简安装上手指南

一、OpenClaw 核心优势 本地运行,隐私更安全:所有数据均在本地设备运行,不会向外传输,从源头降低敏感信息泄露风险,适配各类有数据安全需求的使用场景。零代码门槛,新手易上手:无需编程基础&am…...

小内存服务器装不了MySQL 8?试试这个CentOS编译安装大法!

上期我们分享了CRMEB多商户系统(Java)升级MySQL 8的完整攻略,其中提到一个常见问题——如果你的服务器内存只有4G,或安装了宝塔这类面板,可能直接安装MySQL 8会失败。 当时我们建议:可以通过命令行手动编译…...

nli-MiniLM2-L6-H768快速入门:Windows系统下模型部署与调用

nli-MiniLM2-L6-H768快速入门:Windows系统下模型部署与调用 1. 前言:为什么选择这个模型? 如果你正在寻找一个轻量级但性能出色的自然语言理解模型,nli-MiniLM2-L6-H768绝对值得考虑。这个由微软开源的模型在保持较小体积&#…...

Docker Sandbox + Llama3/DeepSeek部署实操:1小时构建不可逃逸、不可提权、不可侧信道泄露的AI推理沙箱

更多请点击: https://intelliparadigm.com 第一章:Docker Sandbox 运行 AI 代码隔离技术概览 Docker Sandbox 是一种轻量级、可复现的容器化执行环境,专为安全运行未经信任的 AI 代码(如用户提交的推理脚本、自定义训练逻辑或第…...

破解交互系统的“不可能三角”:低延迟、高并发与低成本的端到端实现

前言 魔珐****星云(Embodied AI) 不再满足于传统的“形象复刻”,其本质是数字终端的交互中枢与具身智能时代的表达层基础设施。针对当前 Agent 普遍面临的“有逻辑、无感知”的表达瓶颈,魔珐星云提供了全栈式端到端(En…...

LoRAX技术解析:大语言模型多任务动态推理优化方案

1. 项目概述LoRAX(LoRA Exchange)是一种针对大语言模型(LLM)推理优化的创新方法,它通过参数交换技术实现了低成本、高效率的模型微调与推理。我在实际部署LLM服务时发现,传统微调方法存在显存占用高、切换成…...

Upload-Labs靶场通关前必读:从安装到漏洞分类的完整学习路线

Upload-Labs靶场通关实战指南:从漏洞解析到防御体系构建 当你第一次打开Upload-Labs靶场界面,面对20个看似相似却又各不相同的文件上传关卡时,是否感到无从下手?这个看似简单的靶场实则暗藏玄机,涵盖了从基础绕过到高级…...