Spring Boot入门教程:60分钟快速上手
大家好,我是小林,一名985高校毕业的全栈工程师,目前在一家一线互联网公司做后端开发。平时我也喜欢在掘金写一些技术教程,帮助更多新人少走弯路。
我当初学 Java 后端的时候,最头疼的就是配置繁杂的 Spring 框架——XML 文件写得头大,依赖冲突调到崩溃。直到 Spring Boot 出现,我才真正体会到“开箱即用”的快乐。今天这篇教程,就是想用最简单的方式,带你 60分钟内写出第一个 Spring Boot 应用,哪怕你是完全零基础的小白!
💡 为什么学 Spring Boot?
它是当前 Java 企业级开发的事实标准。你投简历时,90% 的 Java 岗位都要求“熟悉 Spring Boot”。掌握它,是你踏入后端开发的第一步。
一、环境准备:装好你的“工具箱”
在开始写代码前,我们需要准备好以下工具:
| 工具 | 作用 | 推荐版本 |
|---|---|---|
| JDK | Java 运行环境 | JDK 17(LTS) |
| IDE | 写代码的编辑器 | IntelliJ IDEA Community(免费) |
| Maven / Gradle | 项目依赖管理 | Maven 3.8+ |
| 浏览器 | 测试接口 | Chrome / Edge |
安装步骤(以 Windows/macOS 为例)
安装 JDK 17
- 访问 Oracle JDK 或 OpenJDK
- 下载并安装
- 验证:终端输入
java -version,看到版本号即成功
安装 IntelliJ IDEA
- 访问 JetBrains 官网
- 下载 Community 版(免费)
- 安装后首次启动会自动检测 JDK,确认路径正确即可
⚠️ 避坑提示:不要用 Eclipse!对新手不友好。IDEA 社区版足够学习使用。
- 验证工具链
java -version # 应输出 openjdk 17.x mvn -v # 显示 Maven 版本(IDEA 内置,可跳过)
二、核心概念:Spring Boot 到底是什么?
用一句话解释:Spring Boot 是一个能让你快速搭建 Java Web 应用的“脚手架”。
- 传统 Spring:你需要手动配置数据库连接、Web 服务器、日志等,像搭积木一样拼装。
- Spring Boot:它已经帮你把积木预装好了,你只需关注业务逻辑。
关键特性(新手友好版)
| 概念 | 通俗解释 |
|---|---|
| 自动配置(Auto Configuration) | 你引入了数据库依赖,它就自动配好连接池 |
| 内嵌服务器(Embedded Server) | 不用单独装 Tomcat,程序自己就能当服务器 |
| Starter 依赖 | 一键引入整套功能(比如 spring-boot-starter-web = Web 开发全家桶) |
| 约定优于配置 | 默认规则已经最优,你不用写一堆配置文件 |
🌟 我当初学的时候:以为 Spring Boot 是个新语言,其实它只是 Spring 的“快捷方式”。你写的还是 Java 代码!
三、实战项目:做一个“简历信息查询”API
我们来做一个极简的后端服务:通过浏览器访问 /resume,返回一段 JSON 格式的简历信息。
❓ 为什么选“简历”?
因为每个程序员都要写简历!这个例子贴近你的实际需求,也方便后续扩展(比如加数据库存多份简历)。
第一步:创建项目
- 打开 IDEA →
New Project - 选择 Spring Initializr
- 填写:
- Project SDK: 选你装的 JDK 17
- Language: Java
- Type: Maven
- 在 Dependencies 中搜索并勾选:
Spring Web(提供 Web 开发能力)
- 点击 Next → Finish
✅ 项目结构会自动生成,关键目录:
src/main/java/com/example/demo ← 你的代码放这里 src/main/resources ← 配置文件放这里 pom.xml ← 依赖管理文件(类似 Go 的 go.mod)
第二步:写一个 Controller
在 com.example.demo 包下新建一个 Java 文件:ResumeController.java
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ResumeController {
@GetMapping("/resume")
public String getResume() {
return "{'name': '张三', 'skills': ['Java', 'Spring Boot']}";
}
}
🔍 代码解释:
@RestController:告诉 Spring 这是一个 Web 控制器@GetMapping("/resume"):当用户访问/resume路径时,执行下面的方法- 方法直接返回字符串(后续我们会改成 JSON 对象)
第三步:启动应用
- 找到
DemoApplication.java(主类,带绿色运行箭头) - 右键 →
Run 'DemoApplication.main()' - 控制台看到:
Tomcat started on port(s): 8080 (http) Started DemoApplication in 2.3 seconds
第四步:测试接口
打开浏览器,访问:http://localhost:8080/resume
你应该看到:
{'name': '张三', 'skills': ['Java', 'Spring Boot']}
🎉 恭喜!你已经完成了第一个 Spring Boot 应用!
四、进阶:返回真正的 JSON
刚才返回的是字符串,不是标准 JSON。我们来改进一下。
1. 创建一个 Resume 类
package com.example.demo;
public class Resume {
private String name;
private String[] skills;
// 构造函数
public Resume(String name, String[] skills) {
this.name = name;
this.skills = skills;
}
// Getter 方法(必须有,否则 JSON 序列化失败)
public String getName() { return name; }
public String[] getSkills() { return skills; }
}
2. 修改 Controller
@GetMapping("/resume")
public Resume getResume() {
return new Resume("李四", new String[]{"Java", "Spring Boot", "MySQL"});
}
重启应用,再次访问 /resume,你会看到标准 JSON:
{
"name": "李四",
"skills": ["Java", "Spring Boot", "MySQL"]
}
💡 原理:Spring Boot 自动使用 Jackson 库将 Java 对象转为 JSON,无需额外配置!
五、常见问题 & 新手避坑指南
Q1:启动报错 Address already in use
- 原因:8080 端口被占用(比如之前没关掉程序)
- 解决:修改端口,在
src/main/resources/application.properties添加:server.port=8081
Q2:中文乱码?
- 在
application.properties加:spring.http.encoding.force=true spring.http.encoding.charset=UTF-8
Q3:和 Go 有什么区别?
很多新手会问:“现在 Go 很火,为什么还要学 Java/Spring Boot?”
| 维度 | Spring Boot (Java) | Go |
|---|---|---|
| 学习曲线 | 较陡(面向对象、JVM) | 平缓(语法简洁) |
| 生态成熟度 | 企业级应用首选,生态极其丰富 | 新兴,云原生场景强 |
| 招聘需求 | 大量中大型公司使用 | 互联网新锐公司偏爱 |
| 性能 | 启动慢,运行快 | 启动快,内存占用低 |
📌 建议:如果你目标是快速找工作,Spring Boot + 简历项目 是稳妥选择。Go 可以后续拓展。
六、下一步学习建议
完成本教程后,你可以:
给简历 API 加数据库支持
- 引入
Spring Data JPA+ H2(内存数据库) - 实现增删改查(CRUD)
- 引入
部署到云服务器
- 打包成 jar:
./mvnw clean package - 上传到阿里云/腾讯云,用
java -jar demo.jar启动
- 打包成 jar:
写进你的简历
- 项目名称:个人简历信息管理系统(Spring Boot)
- 技术栈:Spring Boot, RESTful API, JSON
- 描述:实现简历信息的查询接口,支持后续扩展
🚀 最后鼓励:我当初也是从
Hello World开始的。不要怕犯错,每一个 bug 都是你成长的阶梯。坚持写代码,60天后你就能投出第一份 Java 开发简历!
附:常用命令速查表
| 操作 | 命令 |
|---|---|
| 创建 Maven 项目 | spring init --dependencies=web demo |
| 打包项目 | ./mvnw clean package |
| 运行 jar | java -jar target/demo-0.0.1-SNAPSHOT.jar |
| 查看端口占用 | lsof -i :8080 (macOS/Linux) |
祝你编码愉快!如有疑问,欢迎在评论区留言交流。

评论 0