Spring Boot入门教程:60分钟快速上手
作者注:大家好,我是一名从培训班出来的前端开发,但因为工作需要,也自学了后端技术。我深知新手在面对像 Spring Boot 这样“看起来高大上”的框架时的迷茫和恐惧。当初我第一次看到
@SpringBootApplication时,脑袋里全是问号。所以,这篇教程是我站在“过来人”的角度,用最直白的语言、最简单的例子,带你 60 分钟内跑通第一个 Spring Boot 应用。即使你完全零基础,只要会点电脑操作,就能跟上!
为什么是 Spring Boot?它能做什么?
简单说,Spring Boot 是一个用来快速开发 Java 后端服务的框架。
你可以把它理解为“搭积木的底座”——它帮你把底层复杂的配置(比如数据库连接、Web 服务器)都自动搞定,你只需要专注于写业务逻辑。
举个生活化的例子:
- 如果你要开一家奶茶店(做一个网站),你需要自己装修店面、买设备、接水电……这很累。
- 而 Spring Boot 就像是一个“拎包开店”的创业园区:水电网络全通,收银台、冰柜、操作台都配好了,你只管做奶茶就行。
典型应用场景:
- 开发 API 接口(比如给手机 App 提供数据)
- 构建后台管理系统
- 做微服务架构的基础单元
📌 注意:虽然本文主角是 Spring Boot(Java 技术栈),但我会在合适的地方提一下 Python 作为对比,帮助有 Python 背景的同学理解。毕竟,在“代码人生”这条路上,多了解一门语言,就多一条路。
第一步:环境准备(10 分钟)
要运行 Spring Boot,你需要以下工具。别担心,我都给你列清楚了。
1. 安装 JDK(Java 开发工具包)
Spring Boot 基于 Java,所以必须先装 JDK。
- 推荐版本:JDK 17(目前 Spring Boot 3.x 的主流支持版本)
- 下载地址:https://adoptium.net/(免费、安全、开源)
安装后,打开终端(Windows 用 CMD 或 PowerShell,Mac/Linux 用 Terminal),输入:
java -version
如果看到类似下面的输出,说明安装成功:
openjdk version "17.0.12" 2024-07-16
OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7)
OpenJDK 64-Bit Server VM Temurin-17.0.12+7 (build 17.0.12+7, mixed mode)
💡 避坑提示:不要用 JDK 8!虽然老项目还在用,但新学建议直接上 JDK 17,避免后续兼容问题。
2. 安装 IDE(集成开发环境)
推荐使用 IntelliJ IDEA Community(社区版),免费且对 Spring Boot 支持极好。
- 下载地址:https://www.jetbrains.com/idea/download/
- 安装后启动,选择 “Create New Project”
3. (可选)安装 Maven
其实 IDEA 会自动帮你管理 Maven,但如果你喜欢命令行操作,可以单独安装。不过新手完全可以跳过这步,IDEA 内置了 Maven。
第二步:创建你的第一个 Spring Boot 项目(5 分钟)
在 IDEA 中创建项目
- 打开 IDEA → New Project
- 左侧选择 Spring Initializr
- 配置如下:
| 配置项 | 建议值 |
|---|---|
| Project SDK | 选择你刚装的 JDK 17 |
| Language | Java |
| Type | Maven |
| Group | com.example(包名,随便写,但要有意义) |
| Artifact | demo(项目名) |
| Name | demo |
| Package name | com.example.demo |
| Packaging | Jar |
| Java Version | 17 |
点击 Next
在依赖(Dependencies)页面,勾选:
- Spring Web(这是做 Web 服务的核心依赖)
点击 Next → Finish
✅ 几秒钟后,IDEA 会自动生成一个完整的 Spring Boot 项目结构!
第三步:理解核心概念(通俗版)
在写代码前,先搞懂几个关键词,避免“照着敲但不懂”。
1. @SpringBootApplication 是什么?
这是 Spring Boot 的“总开关”。你主类上的这个注解,相当于告诉 Spring:“嘿,从这里开始启动整个应用!”
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
🔒 安全意识提醒:永远不要把这个类放在默认包(default package)下!一定要放在有包名的目录里(如
com.example.demo),否则 Spring 可能无法正确扫描组件,导致安全隐患或功能失效。
2. Controller 是什么?
Controller 是处理用户请求的“接待员”。比如用户访问 /hello,Controller 就负责返回“Hello World!”。
3. REST API 是什么?
简单说,就是一种约定好的“对话方式”。前端(比如网页或 App)通过 HTTP 请求(GET/POST 等)向后端要数据,后端返回 JSON 格式的内容。
🐍 Python 对比:如果你用过 Flask,Spring Boot 的
@RestController就像 Flask 的@app.route;如果你用过 FastAPI,那更接近——都是定义路由返回 JSON。
第四步:实战!写一个“打招呼”接口(15 分钟)
现在,我们来写一个最简单的 API:当用户访问 /api/hello 时,返回 "Hello from Spring Boot!"。
步骤 1:创建 Controller 类
在 src/main/java/com/example/demo 目录下,右键 → New → Java Class,命名为 HelloController。
输入以下代码:
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/api/hello")
public String sayHello() {
return "Hello from Spring Boot!";
}
}
代码解释:
@RestController:表示这是一个返回 JSON 或文本的控制器(不是返回网页)@GetMapping("/api/hello"):当用户用 GET 方法访问/api/hello时,调用sayHello()方法- 方法直接返回字符串,Spring Boot 会自动把它变成 HTTP 响应体
步骤 2:启动应用
点击 DemoApplication 类左边的绿色三角 ▶️,或者右键 → Run。
你会看到控制台输出很多日志,最后一行通常是:
Tomcat started on port(s): 8080 (http) with context path ''
✅ 表示服务已启动,监听在 http://localhost:8080
步骤 3:测试接口
打开浏览器,访问:
http://localhost:8080/api/hello
你应该看到页面上显示:
Hello from Spring Boot!
🎉 恭喜!你已经成功运行了第一个 Spring Boot 应用!
第五步:进阶一点——返回 JSON 数据(10 分钟)
真实项目中,我们通常返回 JSON,而不是纯文本。
创建一个数据类(POJO)
新建一个类 Greeting.java:
package com.example.demo;
public class Greeting {
private String message;
private String language;
// 必须有无参构造函数(Lombok 可以省略,但新手建议手写)
public Greeting() {}
public Greeting(String message, String language) {
this.message = message;
this.language = language;
}
// Getter 和 Setter(Spring 需要用它们序列化 JSON)
public String getMessage() { return message; }
public void setMessage(String message) { this.message = message; }
public String getLanguage() { return language; }
public void setLanguage(String language) { this.language = language; }
}
🔒 安全意识提醒:不要把敏感字段(如密码、身份证号)直接暴露在返回对象中!生产环境中要用 DTO(数据传输对象)做字段过滤。
修改 Controller
@GetMapping("/api/greeting")
public Greeting getGreeting() {
return new Greeting("你好,世界!", "zh-CN");
}
重启应用,访问 http://localhost:8080/api/greeting,你会看到:
{
"message": "你好,世界!",
"language": "zh-CN"
}
这就是标准的 JSON 响应!前端可以用 JavaScript 轻松解析。
🐍 Python 对比:这就像在 Flask 中返回
jsonify(message="你好", language="zh-CN"),Spring Boot 自动帮你做了序列化。
第六步:常见问题解答(FAQ)
Q1:为什么启动时报错 “Address already in use”?
原因:8080 端口被其他程序占用了(比如另一个 Spring Boot 应用、Tomcat、甚至微信小程序开发者工具)。
解决方法:
- 关闭占用端口的程序
- 或者修改端口:在
src/main/resources/application.properties文件中添加:
server.port=8081
然后访问 http://localhost:8081/...
Q2:为什么浏览器显示 404?
可能原因:
- 路径写错了(比如
/api/hello写成/hello) - Controller 类没加
@RestController - 项目没启动成功(看控制台有没有红色错误)
排查步骤:
- 确认应用已成功启动(看到 Tomcat started 日志)
- 检查 URL 是否完全匹配
@GetMapping中的路径 - 确保 Controller 类在
@SpringBootApplication所在包或其子包下(否则不会被扫描到)
💡 经验之谈:我当初就因为把 Controller 放在和主类同级但不同包,折腾了半小时!
Q3:能不能用 Python 做同样的事?为什么还要学 Spring Boot?
当然可以!用 Flask 写个 hello world 只需 5 行代码:
from flask import Flask
app = Flask(__name__)
@app.route('/api/hello')
def hello():
return "Hello from Python!"
if __name__ == '__main__':
app.run()
但为什么还要学 Spring Boot?
| 维度 | Python (Flask/FastAPI) | Spring Boot |
|---|---|---|
| 性能 | 中等(适合 I/O 密集型) | 高(适合 CPU/高并发) |
| 生态 | 机器学习、脚本强 | 企业级应用、金融、电商强 |
| 类型安全 | 动态类型,运行时才报错 | 静态类型,编译时检查 |
| 团队协作 | 小团队快 | 大团队规范、可维护性强 |
🌟 代码人生建议:不要只绑死一门语言。前端同学会点 Python 写爬虫/自动化很棒,也会点 Java 做后端更能理解全栈协作。技术是工具,解决问题才是目的。
第七步:学习建议与下一步路线图
你已经完成了 Spring Boot 的“Hello World”,但这只是起点。接下来该怎么走?
短期目标(1-2 周)
- 学会读官方文档:https://spring.io/projects/spring-boot
- 动手做个小项目:比如“待办事项 API”(增删改查)
- 理解自动配置原理:为什么加个依赖就能用数据库?
- 学习常用注解:
@Autowired,@Service,@Repository
中期目标(1-2 个月)
- 连接数据库(H2 / MySQL + MyBatis / JPA)
- 学习 RESTful 设计规范
- 了解异常处理、日志记录
- 尝试部署到云服务器(如阿里云轻量应用服务器)
长期建议
- 不要死记硬背:Spring Boot 的魅力在于“约定优于配置”,理解思想比记代码重要。
- 多调试:在 IDEA 里打断点,看看请求是怎么流转的。
- 参与开源:GitHub 上有很多 Spring Boot 入门项目,fork 下来看源码。
💬 最后鼓励一句:我当初从培训班出来,连 Java 语法都不熟,但靠着每天写一个小功能,三个月后也能独立开发后端模块。代码人生,贵在坚持,不在起点。
附录:常用命令速查表
| 操作 | 命令 / 位置 |
|---|---|
| 启动 Spring Boot | 点击主类的 ▶️ 或运行 ./mvnw spring-boot:run |
| 修改端口 | application.properties 中加 server.port=8081 |
| 添加依赖 | 在 pom.xml 的 <dependencies> 中加入(IDEA 也支持图形化添加) |
| 查看所有接口 | 启动后访问 /actuator/mappings(需添加 spring-boot-starter-actuator 依赖) |
| 打包成 Jar | 运行 ./mvnw clean package,生成在 target/ 目录 |
祝你在 Spring Boot 的世界里,少踩坑,多收获!
有任何问题,欢迎在评论区留言——因为我也曾是那个对着 404 发呆的新手 😊

评论 0