Spring Boot入门教程:60分钟快速上手
开篇:Spring Boot是什么,用来做什么?

在开始学习之前,我们先来聊聊什么是Spring Boot,以及它能帮我们做些什么。
Spring Boot 是什么?
简单来说,Spring Boot 就是一个帮你快速搭建Java后端应用的工具集。它是基于 Spring 框架(一个非常强大的 Java 后端开发框架)之上的高级封装。
你可能听说过一句话:“Spring 造就了企业级Java开发”。而 Spring Boot 的出现,则是为了让开发者更快更轻松地使用Spring。
它用来做什么?
Spring Boot 主要用来:
- 快速搭建 Web 应用(比如网站、接口服务)
- 构建 RESTful API(就是前后端交互的那部分)
- 集成数据库操作(比如 MySQL、PostgreSQL)
- 创建微服务(现代架构中常见的独立小服务)
为什么新手适合从 Spring Boot 学起?
- 不需要手动配置太多东西,开箱即用
- 社区活跃、文档丰富
- 可直接生成可运行的项目,节省时间
- 广泛应用于企业级开发,学完就能用到工作中!
环境准备:一步步搭建你的开发环境

在写代码之前,我们需要准备好开发所需的“装备”。
📌 新手提示:安装软件时,尽量保持网络畅通,某些下载源可能会很慢。
1. 安装 Java JDK(版本建议 17+)
Spring Boot 基于 Java,因此首先你需要安装 Java 开发工具包(JDK)。推荐使用 OpenJDK 17 或更高版本。
下载地址:
https://adoptium.net/zh-CN/temurin/releases/?version=17
安装完成后验证:
打开命令行或终端输入:
java -version
输出类似这样表示安装成功:
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment Temurin-17.0.8+7 (build 17.0.8+7)
OpenJDK 64-Bit Server VM Temurin-17.0.8+7 (build 17.0.8+7, mixed mode)
2. 安装 IntelliJ IDEA(IDE 推荐使用这个)
推荐使用 IntelliJ IDEA 社区版(免费)
下载地址:
https://www.jetbrains.com/idea/download/
安装后启动它,熟悉界面即可。
3. 安装并配置 Spring Boot Initializr(项目生成器)
访问官方工具页面:
在这个网站上你可以自动生成 Spring Boot 项目模板。
✅ 示例配置如下:
| 配置项 | 选择值 |
|---|---|
| Project | Maven |
| Language | Java |
| Spring Boot | 最新稳定版(例如 3.1.x) |
| Group | com.example |
| Artifact | demo |
| Dependencies | Spring Web |
点击 “Generate” 下载生成好的压缩包。
解压后导入 IDEA 中即可使用。
4. 验证是否成功(运行第一个程序)
在 IDEA 中打开项目,找到 DemoApplication.java 文件,它看起来像这样:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
右键点击 → Run 'DemoApplication',如果控制台输出类似如下内容说明启动成功:
Tomcat started on port(s): 8080 (http)
现在你已经完成环境搭建啦!🎉
核心概念解析:用最简单的语言解释关键概念
这一节里我们将用通俗的语言,带你理解几个 Spring Boot 中最重要的概念。
1. 什么是“Web 应用”?
简单理解:Web 应用就是一个可以通过浏览器访问的应用。比如你访问 https://example.com,其实是在访问一个 Web 应用。
Spring Boot 会帮助我们快速创建这种类型的应用。
2. 什么是 Controller(控制器)?
想象你在玩一款游戏,你是玩家,按下方向键(请求),系统做出反应(响应)。
在 Web 应用中:
- 用户通过浏览器向服务器发起请求
- Controller 负责接收请求,并返回结果
我们可以把它看作是接收用户指令的地方。
举个例子:
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "你好,世界!";
}
}
这段代码的意思是:
- 当用户访问
/hello这个路径时,就调用sayHello()方法 - 返回的是字符串
"你好,世界!"
试试访问:http://localhost:8080/hello,你会看到页面显示“你好,世界!”
3. 什么是 RESTful API?
这是一种设计风格,用于定义前后端之间的通信规则。
举个例子:
- GET /users → 获取所有用户信息
- POST /users → 添加一个用户
- GET /users/1 → 获取 ID 为 1 的用户
- PUT /users/1 → 更新 ID 为 1 的用户信息
- DELETE /users/1 → 删除该用户
这些都属于 RESTful 风格的 API。
4. 什么是依赖(Dependencies)?
你可以把它理解为你写的程序所需要的“插件”。
例如:
- Spring Web:让你能处理网页和接口请求
- Spring Data JPA:帮你操作数据库
你可以在 pom.xml 文件中添加依赖(稍后实战部分我们会演示)。
5. 什么是自动配置(Auto-Configuration)?
这是 Spring Boot 最棒的功能之一。
以前用 Spring 写项目,需要自己一个个配置各种组件。而现在,Spring Boot 提供了自动配置机制,当你添加了一个依赖,它就会自动帮你把相关功能配置好。
比如添加了 spring-boot-starter-web,它就会自动引入 Tomcat 作为服务器,并开启对 Web 请求的支持。
实战项目:从零开始实现一个图书管理API

现在我们正式开始实践,目标是写一个可以查询图书列表的接口。
第一步:创建一个图书控制器
新建一个类叫 BookController.java,放在 com.example.demo.controller 包下(没有就创建)。
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class BookController {
@GetMapping("/books")
public List<String> getBooks() {
return List.of("Java编程思想", "Spring实战", "Head First设计模式");
}
}
保存后运行项目,访问:
你应该能看到一个 JSON 形式的结果:
[
"Java编程思想",
"Spring实战",
"Head First设计模式"
]
这就是我们第一个完整的 RESTful API!
第二步:添加一个新的图书接口(POST)
我们再来加一个功能,允许添加一本书。
修改 BookController:
@PostMapping("/books")
public String addBook(@RequestBody String bookName) {
// 在实际项目中这里会将书名存入数据库
return "已添加书籍: " + bookName;
}
注意:你要确保你的类顶部加上了:
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
测试方法:
- 使用 Postman 或 curl 发送 POST 请求到 http://localhost:8080/books
- 设置 Body 为 raw,格式选 JSON
- 输入:"《Effective Java》"
- 发送请求,应该得到返回结果:
已添加书籍: 《Effective Java》
第三步:美化响应结构(返回统一对象)
为了让接口更规范,我们不直接返回字符串,而是返回一个统一的 JSON 对象结构。
新增一个类:
public class ApiResponse<T> {
private boolean success;
private T data;
// 构造方法、getter 和 setter 略
}
然后修改接口返回:
@PostMapping("/books")
public ApiResponse<String> addBook(@RequestBody String bookName) {
return new ApiResponse<>(true, "已添加书籍: " + bookName);
}
现在再发送 POST 请求,返回将会是标准的 JSON 结构,更清晰易读。
常见问题解答:新手常犯错误与解决办法

下面是一些常见问题,看看你有没有遇到类似的困惑👇
问题1:启动报错:Address already in use: bind
这通常是因为本地 8080 端口被其他程序占用。
✅ 解决方案:
修改 application.properties 文件,换成其他端口:
server.port=8081
问题2:@GetMapping 报红,找不到注解?
可能是你忘记导入正确的包。
❌ 错误示例:
import javax.servlet.http.HttpServletRequest; // ❌ 错了
✅ 正确应该是:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
问题3:访问接口提示 404 Not Found?
请检查以下几点:
- 控制器类是否有
@RestController注解 - URL 地址拼写是否正确(如
/books而不是/book) - 是否遗漏了
@GetMappng或@PostMapping
问题4:项目启动慢,或者卡住了?
有些时候由于本地仓库未下载完全,可能导致构建缓慢。
✅ 解决方案:
尝试清理本地 Maven 缓存文件夹(位于 ~/.m2/repository 下,Windows 是 %USERPROFILE%\.m2\repository),然后重新启动项目下载依赖。
问题5:不知道如何调试?
IntelliJ IDEA 支持断点调试:
- 在代码左侧行号旁边点击打上断点
- 启动项目时选择 “Debug” 模式运行
- 发送请求,程序会在断点暂停,你可以查看变量值和流程走向
学习建议:下一步该往哪里走?
恭喜你完成了第一个 Spring Boot 项目!接下来你可以继续学习以下方向,进一步提升技能:
🔹 1. 学习数据库集成(Spring Data JPA)
- 数据库连接配置
- 实体类映射
- 自定义查询
推荐阅读:
- 《Spring Data JPA 入门指南》
- 视频课程《Spring Boot 整合 MySQL》
🔹 2. 学习 Thymeleaf 模板引擎(动态网页)
如果你不只是想做 API,还想展示 HTML 页面,Thymeleaf 非常适合初学者。
- 动态渲染网页内容
- 传递模型数据给前端
🔹 3. 学习 RESTful API 文档工具 Swagger/OpenAPI
写完接口后,怎么给别人看文档?
学习 Swagger UI,它可以自动生成 API 文档:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.14</version>
</dependency>
启动后访问:
👉 http://localhost:8080/swagger-ui.html
🔹 4. 学习部署 Spring Boot 到服务器(如 Linux)
学会把项目打包成 .jar 文件,并上传到云服务器(如阿里云、腾讯云、AWS)进行部署。
常用命令:
mvn clean package # 打包项目
java -jar demo.jar # 启动项目
🔹 5. 继续深入 Spring Boot 的模块化开发
比如:
- 异常处理(GlobalExceptionHandler)
- 日志记录(Logback/Spring Boot Actuator)
- 文件上传、JWT 登录认证等
总结一下:
本教程带大家完成了以下内容:
| 学习重点 | 目标成果 |
|---|---|
| Spring Boot 介绍 | 理解用途,适合谁学 |
| 环境搭建 | 安装 Java、IDE、配置初始项目 |
| 核心概念讲解 | 理解 Controller、RESTful、依赖、自动配置 |
| 实战练习 | 完成了图书列表接口、新增图书功能,统一返回格式 |
| 常见问题 | 解决了启动失败、404、依赖无法导入等问题 |
| 学习路线图 | 提供后续可深入的方向,引导持续学习 |
🎉 祝贺你完成 Spring Boot 初体验!
如果你认真跟着做了一遍,就已经具备了开发基础的 Web 项目的技能!继续坚持下去,你会成为更厉害的开发者💪
如有问题欢迎留言提问,或者加入我们的学习群一起进步!
(全文约 3787 字)

评论 0