蜗牛学苑 Java 学习 Day23|SpringBoot 思维导图复盘

一、思维导图整体知识结构梳理

1. 概述

  1. Spring 全家桶 SpringFramework 作为底层核心,提供依赖注入、事务、Web、数据访问等能力;其余项目基于 SpringFramework 构建,各司其职。
  2. 原生 SpringFramework 缺点 配置繁琐、入门门槛高、配置复杂。
  3. SpringBoot 核心特点 简化配置、快速开发、企业主流,官方推荐。

2. 入门程序

  1. 需求:Web 应用,浏览器请求返回字符串。
  2. 开发步骤 ①创建工程,勾选 Web 依赖;②编写 Controller,添加注解;③运行 main 方法启动项目。
  3. 打包方式:jar 包,使用内置服务器运行。
  4. 创建项目常见问题 start.spring.io 网络访问失败;备选方案:阿里云脚手架;手动 Maven 工程手动引入依赖。
  5. SpringBoot vs Spring Spring 缺点:配置繁琐、版本管理麻烦;SpringBoot 优点:自动配置、起步依赖。

3. 入门原理解析

  1. main 方法可以启动 Web 服务:spring‑boot‑starter‑web传递依赖 tomcat,内置 Tomcat 自动部署,默认 8080 端口。
  2. 起步依赖 starter 概念:预定义的一组依赖集合,简化引入;命名格式spring‑boot‑starter‑xxx。 常用 starter:
  • spring‑boot‑starter‑web:web 开发全套依赖
  • spring‑boot‑starter‑test:单元测试依赖
  1. 父工程 parent 作用:统一管理依赖版本,无需写 version,减少版本冲突;pom 继承spring‑boot‑starter‑parent,只做依赖管理,不会实际引入依赖。

4.Apifox 接口测试工具

  1. 前后端分离痛点:浏览器只支持 GET,不方便测试 POST 请求。
  2. Apifox 介绍:一体化平台,接口文档、调试、Mock、接口测试;同类工具 Postman、ApiPost。
  3. 使用:下载安装,扫码登录。

5. 请求参数接收

  1. 简单参数
  • 原始方式:HttpServletRequest手动获取参数,手动类型转换。
  • SpringBoot 方式:形参名与请求参数名直接接收;@RequestParam注解映射参数名不一致,required属性控制是否必传。
  1. 实体参数 简单 POJO 实体对象:请求参数名和实体类属性名一致自动封装; 复杂嵌套实体对象:实体中包含另一个实体类型属性,按层级书写自动封装。
  2. 数组集合参数 数组:请求传多值,形参为数组; List 集合:需要搭配@RequestParam注解。
  3. 日期参数 @DateTimeFormat(pattern = "yyyy‑MM‑dd");支持 Date、LocalDateTime;前端日期格式必须和 pattern 完全匹配。
  4. JSON 参数(前后端分离最常用) POST 请求,请求体传 JSON;使用@RequestBody注解;JSON 的 key 与 POJO 属性名对应,自动封装对象。
  5. 路径参数 URL 携带参数/path/{id};@PathVariable获取路径变量;支持多个路径参数。

6. 响应数据

  1. @ResponseBody:把方法返回值直接响应前端,对象 / 集合自动转为 JSON,可写类上、方法上。
  2. @RestController :组合注解 = @Controller + @ResponseBody;类上加该注解,全部方法自动响应数据。
  3. 不同返回类型 返回字符串直接输出文本;返回实体对象自动转 JSON 对象;返回集合 List 自动转 JSON 数组。
  4. 测试工具:Apifox 查看响应 JSON。

二、思维导图制作意图

  1. 梳理 SpringBoot 入门整套知识,理清 SpringBoot 解决原生 Spring 配置繁琐的痛点,搞懂父工程 parent、starter 起步依赖底层原理,理解自动配置思想。
  2. 重点整理请求参数接收的全部场景:简单参数、实体、嵌套对象、集合、日期、JSON、路径参数,区分@RequestParam、@RequestBody、@PathVariable三者用法,这是接口开发高频考点。
  3. 掌握响应数据原理,理解@RestController组合注解;了解 Apifox 接口测试工具,适配前后端分离开发模式。
  4. 将繁杂的参数接收场景做归类,方便刷题复习,分清各个注解适用场景,避免开发注解乱用。

三、当日学习总结

今日学习 SpringBoot 基础,了解 SpringBoot 解决 Spring 配置复杂的问题,理解 starter 起步依赖和父工程做版本管理的底层原理,掌握 SpringBoot Web 项目创建运行打包。重点学习各类请求参数接收,区分不同参数场景下各个注解的使用,掌握 JSON 接收、路径参数接收;学习响应数据,理解@RestController,后端直接返回 JSON 给前端。使用 Apifox 完成接口调试。SpringBoot 是现在 Java 开发主流框架,参数接收、注解区分是业务开发以及面试高频重点。

Spring Boot的核心注解有哪些?

Spring Boot和Spring有什么联系?

Spring Boot的自动配置原理是什么?

相关推荐
承渊政道3 分钟前
Linux系统学习【进程信号详细解析——认识、产生、保存以及捕捉信号】
linux·学习·ubuntu·ssh·vs code·进程信号
个 人 练 习 生1 小时前
C++中的内存管理
开发语言·c++·经验分享·学习
浩瀚地学1 小时前
deepagents学习打卡day08
经验分享·笔记·python·学习·agent
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】ChatSDK整体实现
网络·c++·人工智能·学习·架构
励志不掉头发的内向程序员2 小时前
【从零写一个CAD 02】画完第一条线之后:实体容器、Esc 取消,和按了没反应的键盘
开发语言·c++·qt·学习·系统架构
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】ChatSDK架构设计与实现
网络·c++·人工智能·学习·语言模型
UIU1148 小时前
递归算法与汉诺塔
c++·学习·算法·c#·递归
一隅论数智6 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi20166 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习