一、思维导图整体知识结构梳理
1. 概述
- Spring 全家桶 SpringFramework 作为底层核心,提供依赖注入、事务、Web、数据访问等能力;其余项目基于 SpringFramework 构建,各司其职。
- 原生 SpringFramework 缺点 配置繁琐、入门门槛高、配置复杂。
- SpringBoot 核心特点 简化配置、快速开发、企业主流,官方推荐。
2. 入门程序
- 需求:Web 应用,浏览器请求返回字符串。
- 开发步骤 ①创建工程,勾选 Web 依赖;②编写 Controller,添加注解;③运行 main 方法启动项目。
- 打包方式:jar 包,使用内置服务器运行。
- 创建项目常见问题 start.spring.io 网络访问失败;备选方案:阿里云脚手架;手动 Maven 工程手动引入依赖。
- SpringBoot vs Spring Spring 缺点:配置繁琐、版本管理麻烦;SpringBoot 优点:自动配置、起步依赖。
3. 入门原理解析
- main 方法可以启动 Web 服务:
spring‑boot‑starter‑web传递依赖 tomcat,内置 Tomcat 自动部署,默认 8080 端口。 - 起步依赖 starter 概念:预定义的一组依赖集合,简化引入;命名格式
spring‑boot‑starter‑xxx。 常用 starter:
spring‑boot‑starter‑web:web 开发全套依赖spring‑boot‑starter‑test:单元测试依赖
- 父工程 parent 作用:统一管理依赖版本,无需写 version,减少版本冲突;pom 继承
spring‑boot‑starter‑parent,只做依赖管理,不会实际引入依赖。
4.Apifox 接口测试工具
- 前后端分离痛点:浏览器只支持 GET,不方便测试 POST 请求。
- Apifox 介绍:一体化平台,接口文档、调试、Mock、接口测试;同类工具 Postman、ApiPost。
- 使用:下载安装,扫码登录。
5. 请求参数接收
- 简单参数
- 原始方式:
HttpServletRequest手动获取参数,手动类型转换。 - SpringBoot 方式:形参名与请求参数名直接接收;
@RequestParam注解映射参数名不一致,required属性控制是否必传。
- 实体参数 简单 POJO 实体对象:请求参数名和实体类属性名一致自动封装; 复杂嵌套实体对象:实体中包含另一个实体类型属性,按层级书写自动封装。
- 数组集合参数 数组:请求传多值,形参为数组; List 集合:需要搭配
@RequestParam注解。 - 日期参数
@DateTimeFormat(pattern = "yyyy‑MM‑dd");支持 Date、LocalDateTime;前端日期格式必须和 pattern 完全匹配。 - JSON 参数(前后端分离最常用) POST 请求,请求体传 JSON;使用
@RequestBody注解;JSON 的 key 与 POJO 属性名对应,自动封装对象。 - 路径参数 URL 携带参数
/path/{id};@PathVariable获取路径变量;支持多个路径参数。
6. 响应数据
- @ResponseBody:把方法返回值直接响应前端,对象 / 集合自动转为 JSON,可写类上、方法上。
- @RestController :组合注解 =
@Controller + @ResponseBody;类上加该注解,全部方法自动响应数据。 - 不同返回类型 返回字符串直接输出文本;返回实体对象自动转 JSON 对象;返回集合 List 自动转 JSON 数组。
- 测试工具:Apifox 查看响应 JSON。
二、思维导图制作意图
- 梳理 SpringBoot 入门整套知识,理清 SpringBoot 解决原生 Spring 配置繁琐的痛点,搞懂父工程 parent、starter 起步依赖底层原理,理解自动配置思想。
- 重点整理请求参数接收的全部场景:简单参数、实体、嵌套对象、集合、日期、JSON、路径参数,区分
@RequestParam、@RequestBody、@PathVariable三者用法,这是接口开发高频考点。 - 掌握响应数据原理,理解
@RestController组合注解;了解 Apifox 接口测试工具,适配前后端分离开发模式。 - 将繁杂的参数接收场景做归类,方便刷题复习,分清各个注解适用场景,避免开发注解乱用。
三、当日学习总结
今日学习 SpringBoot 基础,了解 SpringBoot 解决 Spring 配置复杂的问题,理解 starter 起步依赖和父工程做版本管理的底层原理,掌握 SpringBoot Web 项目创建运行打包。重点学习各类请求参数接收,区分不同参数场景下各个注解的使用,掌握 JSON 接收、路径参数接收;学习响应数据,理解@RestController,后端直接返回 JSON 给前端。使用 Apifox 完成接口调试。SpringBoot 是现在 Java 开发主流框架,参数接收、注解区分是业务开发以及面试高频重点。
Spring Boot的核心注解有哪些?
Spring Boot和Spring有什么联系?
Spring Boot的自动配置原理是什么?
