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

posted @ 2026-01-29 22:32  m+7超绝哈基米  阅读(10)  评论(0)    收藏  举报