Spring Boot 入门教程:60分钟快速上手
一、开篇:Spring Boot 是什么?我们为什么需要它?
在学习 Spring Boot 之前,我们先来了解一个更基础的概念:Java 后端开发。
后端开发指的是处理网站、App 或系统“后台”逻辑的程序。比如用户登录时,后端会验证用户名和密码;下单购物时,后端负责检查库存是否足够并生成订单。
而 Spring Boot 就是一个帮助我们简化后端开发流程的强大工具。它是基于 Java 的开源框架,由 Spring 团队开发,并集成了许多常见的功能(比如数据库访问、REST 接口支持等),大大减少了配置工作,让我们可以更快地写出高质量的代码。
想象一下,如果你要装修房子,自己从头买砖块、水泥、电线……太麻烦了。而 Spring Boot 就像一个“精装房”,已经帮你铺好了地板、装好了水电,你只需要根据自己的需求进行个性化装修就可以了。
学习目标
本教程将带你用 60 分钟左右掌握以下内容:
- 搭建 Spring Boot 开发环境
- 创建一个最简单的 Web 应用
- 理解 Spring Boot 中的核心概念(如自动配置、Starter)
- 实战编写一个 API 接口
- 解决常见入门问题
准备好了吗?让我们开始吧!
二、环境准备:安装与配置开发环境
在正式写代码前,我们需要准备好开发环境。
注意:本教程适用于 Windows、Mac 和 Linux 用户。部分命令路径略有不同,请自行替换对应路径。
2.1 安装 JDK(Java Development Kit)
Spring Boot 是基于 Java 的,所以我们首先需要安装 Java 环境。
你可以下载最新的 JDK 8/11/17 版本(推荐使用 OpenJDK):
安装完成后,在终端或命令行中运行:
java -version
如果输出类似下面的内容,说明安装成功:
openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment Temurin-17.0.9+9 (build 17.0.9+9)
OpenJDK 64-Bit Server VM Temurin-17.0.9+9 (build 17.0.9+9, mixed mode, sharing)
2.2 安装 IDE(集成开发环境)
IDE 是我们写代码的“编辑器”。建议新手使用 IntelliJ IDEA(简称 IDEA)社区版,免费好用。
安装完成后启动 IDEA,选择 Create New Project,然后选择 Spring Initializr。

2.3 使用 Spring Initializr 在线创建项目
如果你还没有安装 IDEA,或者想体验更简洁的方式,也可以去官网直接生成项目骨架:
- 访问地址:start.spring.io
在页面上填写如下信息:
- Project: Maven
- Language: Java
- Spring Boot Version: 最新稳定版(如 3.1.x)
- Group: com.example
- Artifact: demo
- Name: demo
- Packaging: Jar
- Java Version: 17 或 11
然后点击 Add Dependencies,添加以下依赖项:
- Spring Web(用于构建 Web 应用)
- Thymeleaf(可选,做网页模板用)
最后点击 Generate,即可下载压缩包。解压后可以用 IDEA 打开。
✅ 到此为止,你的开发环境就准备好了!
三、核心概念讲解(通俗易懂)
Spring Boot 虽然强大,但它内部其实包含了很多概念。别怕,我们一个个来看。
3.1 自动配置(Auto Configuration)
Spring Boot 最大的特点是:自动配置。也就是你告诉它你要干什么,它自动帮你设置好相关的参数和对象。
例如,你想做一个网页应用,只需要加上 spring-boot-starter-web 这个依赖,它就会自动配置好 Tomcat、HTTP 请求处理等所有相关组件。
你不需要手动配置服务器,也不需要写 XML 配置文件,一切都在幕后完成。
3.2 Starter 包
“Starter” 是 Spring Boot 提供的一类特殊依赖包,它们封装了某个功能所需的全部库和默认配置。
比如:
spring-boot-starter-web→ 构建 Web 应用spring-boot-starter-data-jpa→ 数据库操作spring-boot-starter-thymeleaf→ 做网页模板用
这些 Starter 包非常实用,你只需要加入 Maven 的依赖,就可以直接使用该功能。
3.3 主应用程序类(@SpringBootApplication)
每个 Spring Boot 项目都有一个主类,通常叫 DemoApplication.java。
这个类的作用就是启动整个项目,里面有一个 main() 方法,执行它就能把项目跑起来。
代码示例:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
其中,@SpringBootApplication 是一个组合注解,它包含:
@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan
这表示当前这个类是项目的启动入口点,Spring Boot 会扫描它所在包下的所有组件并自动注册。
3.4 控制器(Controller)与 REST API
控制器是用来处理 HTTP 请求的类,相当于网站中的一个页面或者接口。
例如:当用户访问 /hello 地址时,我们希望返回“Hello World”。
我们可以创建一个类叫做 HelloController.java:
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello World!";
}
}
解释:
@RestController表示这是一个返回数据(不是 HTML 页面)的控制器。@GetMapping("/hello")表示这是一个响应 GET 请求的路由,路径为/hello。
运行这个类的 main() 方法之后,打开浏览器输入:http://localhost:8080/hello,你就能看到返回结果啦!
四、实战项目:构建一个简易博客管理系统
现在我们来动手做一个小项目,目标是:
- 创建一个名为 “简易博客”的 Spring Boot 应用
- 能够通过访问
/posts显示一条“文章列表” - 能够通过
/post/1查看第一篇文章
4.1 创建项目结构
我们将创建两个主要组件:
- Controller(控制器)
- Model(模型)
4.1.1 创建 Post 类(模型)
在 src/main/java/com/example/demo/model/Post.java 添加以下内容:
package com.example.demo.model;
public class Post {
private Integer id;
private String title;
private String content;
// 构造方法
public Post(Integer id, String title, String content) {
this.id = id;
this.title = title;
this.content = content;
}
// Getter & Setter
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
4.1.2 创建 PostController 控制器
在 com.example.demo.controller.PostController.java 添加:
package com.example.demo.controller;
import com.example.demo.model.Post;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
public class PostController {
// 模拟数据库数据
private List<Post> posts = new ArrayList<>();
public PostController() {
// 初始化数据
posts.add(new Post(1, "标题1", "这是第一篇文章的内容"));
posts.add(new Post(2, "标题2", "这是第二篇文章的内容"));
}
@GetMapping("/posts")
public List<Post> getAllPosts() {
return posts;
}
@GetMapping("/post/{id}")
public Post getPostById(@PathVariable Integer id) {
return posts.stream()
.filter(post -> post.getId().equals(id))
.findFirst()
.orElse(null);
}
}
4.2 启动项目并测试接口
点击 DemoApplication.java 中的 main() 方法运行项目。
等待几秒钟后,控制台会显示类似如下信息:
Tomcat started on port(s): 8080 (http) with context path ''
表示服务已经启动。
现在尝试访问:
- 查看所有文章:
http://localhost:8080/posts - 查看 ID=1 的文章:
http://localhost:8080/post/1
你会看到返回的 JSON 数据。
✅ 很棒!你刚刚完成了一个完整的 Spring Boot 示例项目!
五、常见问题解答(FAQ)
Q1:启动时报错 Address already in use: bind 怎么办?
这是因为 8080 端口被其他程序占用了。解决方法:
- 修改端口:打开
application.properties文件,添加:
server.port=8081
改为你想要的端口号。
Q2:找不到 PostController 或者没有返回数据?
请确认:
@RestController注解是否存在?- 包名是否正确?是否属于 Spring Boot 启动类所在的包或其子包?
Spring Boot 默认只扫描主类所在包及其子包中的组件。
Q3:Maven 报错 Could not resolve dependencies?
可能网络问题导致下载失败,尝试重试。也可以换源镜像:
在 settings.xml 中加入阿里云仓库:
<mirror>
<id>aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
Q4:怎么查看日志?
控制台输出的日志默认在 IDEA 右下角控制台窗口里可以看到。也可以配置日志级别、文件输出等内容,后续再深入讲解。
六、学习建议:下一步学什么?
恭喜你完成了第一个 Spring Boot 项目!
接下来你可以尝试进一步学习以下内容:
6.1 Spring Boot 常见模块进阶
| 模块名称 | 功能 |
|---|---|
| spring-boot-starter-data-jpa | 与数据库交互(ORM) |
| spring-boot-starter-security | 加入用户权限认证机制 |
| spring-boot-starter-test | 单元测试支持 |
| spring-boot-starter-validation | 参数校验功能 |
| spring-boot-starter-mail | 发送电子邮件 |
6.2 数据库连接实战
下一步可以学习如何将我们的“博客”数据保存到真实数据库中(如 MySQL)。使用 JPA + Spring Data 来实现持久化存储。
6.3 前后端分离开发
如果你也想搭建前端页面,可以把后端接口暴露出来,让 Vue、React、小程序等调用你写的 API。
结语:Keep Coding!
Spring Boot 虽然是一个强大的工具,但它的本质依然是 Java 编程。
不要急于求成,建议结合实际项目不断练习,逐步深入理解 Spring 框架生态。记住一句话:“编程最重要的是动手实践”。
祝你在 Java 与 Spring Boot 的世界越走越远!🚀
📌 资源推荐
- 官方文档:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
- 在线 IDE:https://start.spring.io
- Java 快速入门指南:菜鸟教程 Java 教程
如有疑问欢迎留言提问,我会尽量回答!

评论 0