Spring Boot入门教程:60分钟快速上手
大家好,我是掘金上的一名全栈工程师,985科班出身,也带过不少零基础的同学入门后端开发。今天写这篇《Spring Boot 入门教程》,是因为我当初学的时候踩过太多坑——文档太晦涩、环境配不上、概念绕晕人……所以我决定用最通俗的语言,带你60分钟快速上手 Spring Boot,哪怕你连 Java 都没写过几行!
提示:本文虽面向零基础,但建议你至少知道“什么是编程”、“变量是什么”。如果你完全没接触过编程,先花1小时学点 Java 基础(比如变量、方法、类),效果会更好。
一、Spring Boot 是什么?能用来做什么?
简单说,Spring Boot 是一个帮你快速搭建 Java 后端服务的框架。
想象你要开一家餐厅:
- 没有 Spring Boot:你要自己砌墙、装水管、买灶台、招厨师……累死。
- 有了 Spring Boot:它已经给你建好了厨房、装好了水电、配好了灶具,你只需要专注做菜(写业务逻辑)就行!
Spring Boot 的核心优势是 “约定优于配置” —— 它帮你预设了大量默认配置,你不用写一堆 XML 文件就能跑起一个 Web 服务。
🌟 关键词解释:
- 后端:处理数据、逻辑、数据库交互的部分(比如用户登录验证)。
- 前端:用户看到的界面(比如网页、App 页面),通常用 HTML/CSS/JavaScript 写。
- 综合:Spring Boot 常和前端配合,构成完整应用。比如前端用 JavaScript 发请求,后端用 Spring Boot 返回数据。
- Go:虽然 Go 也是后端语言(如 Gin 框架),但 Spring Boot 是 Java 生态的首选,两者可对比学习。
二、环境准备(10分钟搞定)
我们需要安装以下工具:
| 工具 | 作用 | 安装建议 |
|---|---|---|
| JDK 17 | Java 运行环境 | 推荐 Adoptium Temurin 17 |
| IntelliJ IDEA Community | 代码编辑器 | 免费,比 Eclipse 更友好 |
| Maven | 项目依赖管理工具 | IDEA 内置,无需单独安装 |
安装步骤(Windows/Mac 通用):
安装 JDK 17
- 下载安装包,一路下一步
- 打开终端,输入
java -version,看到17.x.x即成功
安装 IntelliJ IDEA
- 官网下载 Community 版(免费)
- 安装时勾选
.java文件关联
验证环境
- 打开 IDEA → Create New Project → 选择 Spring Initializr
- 如果能看到 Spring Boot 选项,说明环境 OK!
💡 避坑指南:不要用 JDK 8!Spring Boot 3.x 要求 JDK 17+。我当初就卡在这一步,折腾半天才发现版本不对。
三、核心概念:用大白话讲清楚
1. 什么是“后端服务”?
后端服务就像餐厅的后厨:
- 前端(服务员)收到顾客(用户)点单 →
- 把订单(HTTP 请求)传给后厨(Spring Boot) →
- 后厨做菜(处理逻辑)→
- 把菜(JSON 数据)端给服务员 →
- 服务员上菜(前端展示)
2. 关键角色解释
| 概念 | 类比 | 代码中长什么样 |
|---|---|---|
| Controller | 厨房接单员 | @RestController 标注的类 |
| Request Mapping | 菜单编号 | @GetMapping("/hello") |
| Response | 做好的菜 | return "Hello World!"; |
| Port | 餐厅电话号码 | 默认 8080,访问 http://localhost:8080 |
3. 为什么用 Spring Boot 而不是原生 Java?
原生 Java 写 Web 服务要写几十行配置,而 Spring Boot 只需:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
加一个 Controller:
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
}
运行后,浏览器访问 http://localhost:8080/hello,立刻看到文字!
✅ 这就是 Spring Boot 的魔力:少写配置,多写业务!
四、实战项目:做一个“待办事项”API(30分钟)
我们将做一个简单的 API,支持:
- 查看所有任务(GET)
- 添加新任务(POST)
步骤 1:创建项目
- 打开 IDEA → New Project → Spring Initializr
- 填写:
- Project SDK: JDK 17
- Language: Java
- Spring Boot: 3.x(最新版)
- Dependencies(依赖)添加:
- Spring Web(必选)
- (其他先不加,保持简单)
点击 Next → Finish,等待 Maven 下载依赖(首次较慢)。
步骤 2:定义数据模型
在 src/main/java/com.example.demo 下新建 Task.java:
public class Task {
private Long id;
private String title;
private boolean completed;
// 构造函数
public Task(Long id, String title) {
this.id = id;
this.title = title;
this.completed = false;
}
// Getter 和 Setter(IDEA 可右键 Generate 自动生成)
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getTitle() { return title; }
public void setTitle(String title) { this.title = title; }
public boolean isCompleted() { return completed; }
public void setCompleted(boolean completed) { this.completed = completed; }
}
步骤 3:编写 Controller
新建 TaskController.java:
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
@RestController
@RequestMapping("/tasks")
public class TaskController {
private List<Task> tasks = new ArrayList<>();
private AtomicLong idGenerator = new AtomicLong();
// GET /tasks → 获取所有任务
@GetMapping
public List<Task> getAllTasks() {
return tasks;
}
// POST /tasks → 添加新任务
@PostMapping
public Task addTask(@RequestBody Task task) {
task.setId(idGenerator.incrementAndGet());
tasks.add(task);
return task;
}
}
🔍 关键点解释:
@RequestBody:告诉 Spring 从请求体(JSON)中读取数据AtomicLong:线程安全的 ID 生成器(避免并发问题)
步骤 4:测试 API
- 点击 IDEA 左侧绿色 ▶️ 运行
DemoApplication - 等待控制台出现
Tomcat started on port(s): 8080 - 打开浏览器访问
http://localhost:8080/tasks→ 返回[](空列表) - 用 Postman 或 curl 发送 POST 请求:
curl -X POST http://localhost:8080/tasks \
-H "Content-Type: application/json" \
-d '{"title":"学习Spring Boot"}'
再访问 GET /tasks,就能看到刚添加的任务!
💡 没有 Postman? 用在线工具 reqbin.com 也能发 POST 请求。
五、常见问题 & 解决方案
| 问题 | 原因 | 解决方法 |
|---|---|---|
启动报错 UnsupportedClassVersionError |
JDK 版本低于 17 | 升级 JDK 到 17+ |
访问 localhost:8080 显示 404 |
路径写错或 Controller 未扫描 | 检查 @RequestMapping 和包路径是否在主类同级或子包 |
| POST 请求返回 400 | JSON 格式错误或缺少字段 | 确保发送的 JSON 有 title 字段,且 Content-Type 为 application/json |
| IDEA 提示 “Cannot resolve symbol” | Maven 依赖未加载完 | 点击右侧 Maven → Reload Projects |
🛠️ 调试技巧:在 Controller 方法里加
System.out.println("收到请求");,看控制台是否有输出。
六、学习建议 & 下一步路线
你已经完成了 Spring Boot 的第一个 60 分钟!接下来:
短期目标(1周内):
- 给 Task 加上“完成/未完成”状态切换(PUT 请求)
- 用 H2 内存数据库替代 List(引入
spring-boot-starter-data-jpa) - 写一个简单的 HTML + JavaScript 前端,调用你的 API(综合前后端)
中长期路线:
Spring Boot 基础 → 数据库(MySQL + JPA) → 用户认证(Spring Security)
↓
整合前端(Vue/React) → 部署上线(Docker + 云服务器)
对比学习建议:
- 如果你对 Go 感兴趣,可以试试用 Gin 框架实现同样的 Todo API,对比两者的代码量和性能。
- 但不要同时学多个后端框架!先精通一个(推荐 Spring Boot),再横向扩展。
结语
我当初学 Spring Boot 时,光是配环境就花了两天。现在有了 Spring Initializr 和现代 IDE,新手门槛大大降低。你缺的不是天赋,而是一个清晰的入门路径。
记住:每个大神都曾卡在 Hello World 上。你现在写的这几行代码,就是未来复杂系统的起点。
🌈 行动建议:现在就打开 IDEA,照着教程敲一遍代码!遇到问题,欢迎在评论区留言,我会一一解答。
下期预告:《Spring Boot + Vue 实现全栈 Todo 应用》,教你把今天的 API 变成真正可用的网页!
作者:某985全栈工程师,掘金专栏《零基础学后端》主理人。坚持用最朴素的语言,讲最硬核的技术。

评论 0