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

Spring Boot 框架

作者:zinghoWU

2026-01-29 22:23:43 星期四

14 Spring Boot 框架

14-1 总体框架

屏幕截图 2026-01-29 115521

Spring Boot 是整合框架,将 Spring MVC、Spring、MyBatis 等技术集合在一块,可谓是集众家之所长,每层相辅相成,组成了一个整体,如下:

  • 前端:发起URL请求,等待其他部分处理完毕,接收渲染后的页面
  • Controller层:处理URL请求,一个Controller方法对应一个URL,由Spring MVC的DispathcherServlet统一调度
  • service层:封装业务逻辑,依赖Mapper层(持久层)完成数据的CRUD
  • Mapper层:持久层,直接与数据库相连,执行CRUD
  • 核心支撑:Spring的 IOC(控制反转)和 AOP(面向切面编程)

14-2 Spring MVC(前端<——>Controller层)

屏幕截图 2026-01-29 164833

1.请求处理流程

请求发起

用户(Actor)通过浏览器 / 客户端发起URL 请求,请求首先到达 SpringMVC 的核心组件 ——DispatcherServlet(前端控制器,所有请求的统一入口)。

处理器映射与拦截器获取

DispatcherServlet通过内部的handlerMapper(处理器映射器)完成两个关键动作:

  • 循环遍历handlerMap,找到与当前 URL匹配的目标 Controller 方法
  • StringList中获取该请求对应的拦截器列表(前置拦截器、后置拦截器)。

拦截器与目标方法执行

DispatcherServlet按顺序调用执行:

  • 先执行前置拦截器(请求处理前的校验 / 预处理);
  • 再执行目标 Controller 方法(核心业务逻辑处理);
  • 最后执行后置拦截器(请求处理后的日志 / 收尾操作)。

逻辑地址返回

Controller 方法处理完业务后,返回逻辑地址(如return "index",仅为页面标识,非实际文件路径)。

逻辑地址→物理地址解析

DispatcherServlet通过前缀 + 逻辑地址 + 后缀的规则,将逻辑地址解析为物理地址(如/WEB-INF/jsp/user/index.jsp,前缀/WEB-INF/jsp/user/+ 逻辑地址index+ 后缀.jsp)。

页面渲染与返回

DispatcherServlet根据物理地址找到对应的 JSP 文件,执行渲染操作,生成静态 HTML 页面,最终返回给用户(Actor)。

2.核心映射规则

一个Servlet(特指DispatcherServlet)对应一个 URL 地址;

一个Controller一个方法,对应一个 URL 地址(SpringMVC 的核心映射逻辑)

14-3 Spring (Controller<——>service<——>mapper)

屏幕截图 2026-01-29 172130

1.Bean的相关概念;

简单来说,Bean就是由Spring IOC 容器统一创建、管理、维护生命周期的Java对象,是Spring框架的核心载体。我们普通的Java对象是由我们自己要用的时候new出来,由我们进行管理和维护它的生命周期,而Bean相当于我们把创建和管理对象的控制权交给Spring容器 IOC,这也是Spring 框架的核心思想。

2.IOC(控制反转):是Spring的核心容器

  • 用于统一管理项目中Bean的创建、生命周期和依赖关系,无需手动new 对象,要用的时候直接获取,比如controller方法和接口实现类等都不需要自己创建,由IOC完成
  • 容器底层为Map,Bean的key值默认首字母小写,value是Bean的实例

3.DI(依赖注入):是IOC的实现方式

  • IOC自动将依赖的Bean注入到项目中,不用手动维护依赖

  • 比如图中@Autowired

4.五个核心注解(4个用于Controller层+一个用于mapper层)

  • Controller:标记Controller 层Bean,处理 Web 请求
  • Service:标记Service 层Bean,封装业务逻辑
  • Responsitory:标记数据访问层Bean(MyBatis 中用@Mapper替代)
  • Component:通用注解,都能用
  • Mapper:MyBatis 专属注解,标记Mapper接口,自动生成代理类并放入IOC

14-4 Spring 核心:AOP(面向切面编程)

屏幕截图 2026-01-29 183306

1.点的概念:即方法

2.AOP:类似于U盘,即插即用。内部为不完整的方法(增强方法),给指定点"加buff",增强其功能,可以加在前面(before),可以加在后面(after),也可以前后都加

3.核心术语

  • 连接点:方法执行的时机

  • 切点:定义那些连接点需要加buff,通过相应的切点表达式进行匹配

  • 切面:包含切点和增强方法的类,就是增强后的类。可以借用数学上面的概念,从AOP中引用不同增强方法去给不同的方法加buff,相当于从AOP中引出射线指向切点,多条线必然相交,从而形成面,即切面

  • 增强:植入的逻辑方法,即上面所说的buff

4.流程

Actor 调用 Service 方法 → AOP 通过切点表达式匹配连接点 → 将before/after增强方法植入到目标方法前后执行 → 完成横切逻辑,不侵入业务代码。

14-5 总而言之,言而总之,Spring Boot就好比修建项目大楼的脚手架,大大简化了操作,我们程序猿身为这栋大厦的苦逼打灰人,也是拿到"高温补贴了",直接往里面填砖块就行.(准程序猿向前辈膜拜!!!)

http://www.jsqmd.com/news/318916/

相关文章:

  • CSS Fonts (字体)
  • Nginx:如何配置基于ip的虚拟主机(总结二)
  • A.每日一题——2976. 转换字符串的最小成本 I
  • Pandas实战技巧,大数据新手入门必学
  • 高通SEE架构深度解析(3): 核心组件从功能模块到安全体系
  • IPD课程系列-产品平台和CCB
  • ollama 调用vlm模型 显存可以省到只用5g左右
  • 高通SEE架构深度解析(2): Sensor HAL层代码实战与ADSP通信
  • 把数字翻译成英文,其实是在考你“结构化思维”
  • python护工预约评价系统管理小程序
  • C++中的职责链模式实战
  • Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
  • 智能标注平台开发:AI应用架构师的必备技能
  • 趣味项目与综合实战
  • 高通SEE架构深度解析(1): 架构原理与核心组件
  • python快递校园帮互助微信小程序设计与实现
  • C++网络编程(Boost.Asio)
  • 摸鱼软件系列:隐藏软件为了方便上班时摸鱼打开某些软件时怕被发现又不想关闭
  • python快餐店微信扫码点餐订餐小程序
  • 构建SpringBoot项目Docker镜像并发布到k8s集群中进行运行
  • 2026年政务服务智能化演进:从被动咨询到“端侧”业务闭环
  • python关于英雄联盟云顶之弈的游戏攻略视频辅助微信小程序
  • python基于小程序的临沂大学非机电动车车辆充电维修管理系统
  • 按照片拍摄日期批量重命名({年}{月}{日}{时}{分}{秒}_{文件名}_{时间戳})工具
  • 全面应用掌握!提示工程架构师带你全面掌握Agentic AI国际化应用技能
  • 使用Python进行PDF文件的处理与操作
  • 提取文件(文件夹)名称小工具目录树文件名字提取BAT脚本加软件
  • 解码分布式节点技术:五大核心特质赋能多行业数字化落地
  • jQuery Mobile 过渡
  • Moltbot 超详细安装使用教程(初学者版)