2小时急速上手SpringBoot(儿童版)
本视频是针对 SpringBoot 框架的快速入门教程,讲解了其简化 Java Web 开发的优势及基本概念。
UP主: 小麟NLER · 时长: 2h03m · 🔗 B站原视频
发布: 2023-05-08 · 收录: 2025-04-08
标签: SpringBoot · Java · 后端开发 · 编程入门
节奏说明:速度快一点,先把东西跑起来
个人难度说实话稍微有点大,因为我本身是考研的,时间可能有点对不上,所以就速度快一点。
有的教学方式是你们哪不会,他就下去绕一圈,看看哪不会帮你改一下。我不是这种,我速度会快一些。我持一个观点:当时学 Java Web 没人带,全是自己查,百度各种查。而且现在有 GPT,你把错误代码粘上去问“我这个代码哪错了”,它会给你一个差不多的答案,你跟着去查 bug,这也是提升能力很重要的方式。
单纯问的话印象不太深,但有时候卡一天两天做不出来,这时候最好问。能自己解决就一步一步排查问题。
Java Web、框架、专业课和为什么用 Spring Boot
Java Web 和别的语言的 Web 本质上都能写 Web 项目。Java Web 这块,底层配置很繁琐:配 Tomcat、配数据库、配 Java 环境、再搞启动,一堆东西配一天,十分钟写个应用代码,肯定不想这么搞。
所以直接上 Spring Boot。Boot 就是“快”,不需要大量配置,很快构建出项目。Spring 相当于给 Java 开发带来“春天”,把开发速度搞快了。现在很多 Java Web 开发基本都是走 Spring 系。
Spring / Spring MVC / MyBatis:SSM 三件套与 Spring Boot 的关系
先把概念简单捋一下:
- Spring:核心是容器(IoC)。你写的类不一定要自己 new,Spring 可以托管。需要用的时候从容器里拿。
- Spring MVC:做 Java Web 的关键组件之一。
- MyBatis:ORM 框架,把表里的一行数据映射成一个对象,方便用面向对象方式操作。
传统找工作常说的 SSM(三件套)= Spring + Spring MVC + MyBatis。但这三件套配置比较繁琐,Spring Boot 把常用配置默认都给你配好了,能快速开发。默认配置一般够用,不够再改。
前端、后端是什么:后端就是“折腾数据”
前端是你能看到的页面(B 站、淘宝页面),负责展示和交互动效;后端给前端提供数据。页面骨架是前端搭好的,标题、头像、UP 名字、关注数这些数据是后端给的。
后端一直在和数据打交道:数据要么在内存,要么在数据库。初学阶段可以粗浅理解为“后端=搞数据”。
为什么学框架:答辩/课程项目加分
一些课程会要求做项目答辩,比如软工概论、框体项目(Swing/JavaFX)。如果你能连数据库、用框架,老师一般会加分。比如有人用 MyBatis 连数据库拿了 99 分,用原生 JDBC 可能就低一些。多用框架整活,效果明显。
工具准备:IDEA 版本建议与 Maven 镜像
必须有 IDEA。建议用 2022.3 以上,新 UI 好看一些。
为了下载依赖快,建议配置 Maven 阿里云镜像:
- IDEA 打开设置,找到 Maven 配置(settings.xml)。
- 在 settings.xml 里配置
\<mirror>为阿里云镜像。 - 重启 IDEA。
原因:不配镜像从国外中央仓库下很慢,可能 20 分钟;用国内镜像可能 1 分钟。
创建 Spring Boot 项目:依赖选择
创建项目(Spring Initializr)时建议:
- 构建工具:Maven
- 语言:Java
- JDK:不要死守 1.8。Boot 3 要求更高版本;不过视频里为了不翻车,示例用了 Boot 2.7.x + Java 8。
- 依赖(重点):
- Spring Web(写 Web 必点)
- JDBC API
- MySQL Driver
- Lombok(可选,但推荐)
版本选择上,尽量用稳定版,不用 snapshot/rc。
Maven 的核心:依赖(dependencies)怎么加、怎么刷新
pom.xml 里重点看 dependencies。外部库功能靠依赖引入。
找依赖的方式:
- 去 Maven Repository 搜(比如 fastjson)。
- 复制 Maven 坐标片段。
- 粘贴进
dependencies。 - 在 IDEA 里点击 Maven 刷新/Reload,重新加载依赖。
项目结构与 target、clean、test 的作用
src/main:主代码src/test:测试代码(单元测试)- 启动项目后会生成
target:编译后的 class 等文件。
Maven 的 clean 会清掉 target。
测试类可以用来跑某一段逻辑,验证写得对不对。
Spring IoC 容器:不 new,对象交给 Spring 托管
创建对象的方式有很多:new、反射等,但项目里类多了全靠人为控制会很繁琐。
Spring 的做法:
- 类上加注解(如
@Component),让它进入 Spring 容器(Spring Bean)。 - 需要用的时候用
@Autowired注入。
这样你在 A 类里就能直接用 B 类的方法,这是 IoC 的核心概念。
Web 项目常见四层:Controller / Service / DAO / PO
开发 Web 常见分层:
- Controller:接收 HTTP 请求,相当于门口
- Service:业务层,做业务逻辑
- DAO/Mapper:数据库操作抽象(增删改查)
- PO/Entity:表的一行数据映射成对象(ORM 的那个对象)
请求进来:Controller → Service → DAO → 数据库。
数据库准备:小皮(phpstudy)与 Navicat 连接
MySQL 配环境麻烦,推荐用 phpstudy(小皮) 一键启动 MySQL。
管理数据库:
- phpMyAdmin:网页版,能用但不太方便
- Navicat:更顺手(视频里提到“抢先体验版”)
连接参数要记住:
- host:
localhost或127.0.0.1 - port:3306(MySQL 默认端口)
- 用户:root
- 密码:默认可能是 123456(但上服务器别用这种,容易被攻击)
建表示例:user 表(username/password)
建库建议用 utf8mb4 字符集。
建表 user:
username(唯一标识/主键)password
主键保证唯一性。自动递增也提了,但示例里主键用 username。
Spring Boot 连接数据库:application.yml 配置
配置文件可用 properties 或 yml,视频用 yml。
核心四项:
spring.datasource.usernamespring.datasource.passwordspring.datasource.urlspring.datasource.driver-class-name
MySQL 8 之后 driver 常用 com.mysql.cj.jdbc.Driver。
url 格式示例:
jdbc:mysql://localhost:3306/你的数据库名
配置完启动 Application 类,能启动就说明连通了。
用 MyBatis-Plus:不写 SQL 也能增删改查
为了更省事,直接用 MyBatis-Plus(比原生 MyBatis 更快上手)。
实体类(PO)示例:
@TableName("user"):对应表名@TableId:主键字段@TableField("password"):对应列名@TableField(exist = false):类里有字段但不映射数据库
Lombok 常用:
@Data@AllArgsConstructor@NoArgsConstructor
DAO(Mapper)示例:
- 接口
UserDao extends BaseMapper\<UserPo> - 加
@Mapper标识
Service 层:注入 DAO,写增删改查方法
在 Service 类里:
@Service@Autowired UserDao userDao
常见操作示例:
- 插入:
userDao.insert(new UserPo(username, password)) - 根据主键删:
userDao.deleteById(username) - 条件删:
userDao.delete(new QueryWrapper\<UserPo>().like("username", "丁")) - 精准查一个:
selectOne(new QueryWrapper\<UserPo>().eq("username", username)) - 模糊查列表:
selectList(new QueryWrapper\<UserPo>().like("username", "丁")) - 更新:先查出对象 →
setPassword()→update(对象, 条件wrapper)
Bug 怎么排查:看红色堆栈、复制关键报错去查
报错排查思路:
- 点堆栈里蓝色可跳转的位置,定位大概在哪出问题。
- 看最上面的异常信息(通常能提示原因)。
- 看不懂就复制关键
at ...报错行去搜/问 GPT。
高级一点的方法是 Debug 打断点,一步一步看变量和流程。
对外提供接口:Controller 写 REST API
后端要给前端提供数据,需要暴露接口。
Controller:
@RestController@RequestMapping配路径- HTTP 方法:
- POST:增
- DELETE:删
- PUT:改
- GET:查
参数接收:
@RequestParam:从请求参数里取@PathVariable:从路径里取(GET 常用)
返回统一格式:code / message / data,并转 JSON
接口返回一般统一结构:
code:比如 200 表示成功message:提示信息data:返回数据(可选)
视频里用 Map + Fastjson JSONObject.toJSONString(map) 统一转 JSON 字符串。
为了减少重复代码,可以封装一个 Result 工具类,做公共返回方法(解耦,少改重复代码)。
用 Apipost / Apifox 测接口:本地 8080
接口测试工具:Apipost 或 Apifox。
访问格式:
http://localhost:8080/接口路径
按不同接口选择对应方法(POST/DELETE/PUT/GET),传 username/password 等参数,看返回 JSON:
code=200一般表示成功- 前端拿
data做页面动态渲染(比如 B 站页面填充数据)
收尾:今天的范围
今天主要讲了:
- Spring Boot 快速构建项目
- Maven 依赖与镜像
- 数据库连接与建表
- MyBatis-Plus 增删改查
- Controller 对外暴露接口
- 统一返回 JSON、用工具测试接口
更深入的原理和更完整的项目写法,后面有机会再讲。