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

如果你是刚接触后端开发的新手,可能会听说过“Spring”这个名字,它是一个非常流行、功能强大的 Java 框架,专门用于构建企业级的应用程序。而 Spring Boot 则是在 Spring 基础上的升级版,它的核心目标是让开发者更快地搭建和运行 Spring 应用。
想象一下,如果我们把开发一个后端应用比作搭积木,那么传统的 Spring 就像是你需要自己准备所有的小块积木,还要花时间组装它们。而 Spring Boot 就像是一个“积木套装”,里面已经包含了大多数常用的组件,并且自动帮你组装好,你只需要专注于自己的需求即可。
简单来说,使用 Spring Boot 可以:
- 快速创建基于 Java 的 Web 项目
- 内置服务器,不需要额外配置 Tomcat 或其他容器
- 自动配置很多常见的功能(如数据库连接、日志、安全控制等)
- 提供丰富的插件系统,方便扩展功能
所以不管你是想做一个小的 API 接口服务,还是未来打算开发大型管理系统,Spring Boot 都是一个非常适合的起点!
环境准备:搭建你的第一个 Spring Boot 开发环境

要开始使用 Spring Boot,首先需要准备好开发环境。这里我们不会涉及太复杂的配置,只要跟着步骤一步步来,就能轻松完成安装和设置。
第一步:安装 JDK(Java Development Kit)
Spring Boot 是基于 Java 的框架,因此必须先安装 JDK(Java 开发工具包)。你可以从 Oracle 官网 或者 OpenJDK 发行版中选择一个版本进行下载安装。
安装完成后,打开终端或命令行窗口,输入以下命令检查是否安装成功:
java -version
你应该能看到类似下面的输出,说明 JDK 已正确安装:
java version "17.0.5" 2022-10-18 LTS
Java(TM) SE Runtime Environment ...
✨ 提示:建议使用 Java 17 或更高版本,这是目前 Spring Boot 最推荐使用的版本。
第二步:安装 IDE(集成开发环境)
为了更高效地编写代码,我们需要一个好用的编程工具。对于初学者来说,推荐使用 IntelliJ IDEA Community 版(免费)或者 Eclipse,两者都可以很好地支持 Spring Boot 开发。
下载 IntelliJ IDEA:
访问官方网站:https://www.jetbrains.com/idea/download/
根据你的操作系统(Windows、macOS 或 Linux),下载并安装 Community 版本即可。
安装完成后启动软件,稍等片刻会进入主界面。
第三步:安装 Spring Boot 插件
虽然 IntelliJ 和 Eclipse 已经自带了很多 Java 开发的支持,但为了让创建 Spring Boot 项目更加简便,我们可以使用官方提供的插件。
在 IntelliJ 中:
- 打开软件,点击右下角的 "Get from VCS" 或 "New Project"
- 在新建项目的界面中找到 "Spring Initializr"
- 点击 Next 后可以自动生成 Spring Boot 项目模板
如果你看不到这个选项,也可以手动安装 Spring Boot 插件:
- 进入 Settings > Plugins
- 搜索 “Spring Boot”
- 安装并重启 IDE
第四步:测试你的环境
接下来我们快速生成一个 Spring Boot 项目,看看环境是否一切正常。
按照上面提到的方式,使用 IntelliJ 创建新项目,选择如下配置:
- Project SDK: Java 17
- Spring Boot Version: 使用最新稳定版本(例如 3.x)
- Dependencies: 我们暂时选
Spring Web(用于构建 Web 服务)
然后点击 Finish,等待项目加载完成后,你会看到一个结构清晰的文件夹列表。
现在,在 IntelliJ 中点击右上方绿色三角形运行按钮,启动你的第一个 Spring Boot 项目。
如果控制台显示类似以下信息,恭喜你!环境已经准备好啦!
Tomcat started on port(s): 8080 (http)
Started Application in 3.2 seconds (JVM running for 4.1)
核心概念讲解:Spring Boot 有哪些关键组成部分?

Spring Boot 虽然简化了开发流程,但它本身也包含了一些关键的核心概念。作为新手,了解这些基础术语有助于你在后续学习中更好地理解原理。
1. 什么是 Starter?
在 Spring Boot 中,“Starter” 是一种特殊的依赖项,它封装了某个功能所需的全部依赖和默认配置。
比如:
spring-boot-starter-web:用于开发 Web 应用(如 REST API)spring-boot-starter-data-jpa:用于操作数据库spring-boot-starter-security:用于添加登录权限控制功能
当你在 pom.xml 文件中加入这些 starter,Spring Boot 会自动帮你引入相关的库,并做好基本的配置,省去了繁琐的手动配置步骤。
2. @SpringBootApplication 注解的作用
这是一个非常重要也非常常见的注解,通常出现在主类上。它的作用相当于三个关键注解的组合:
@Configuration:表示这个类是配置类@EnableAutoConfiguration:启用自动配置机制@ComponentScan:扫描当前包及其子包中的组件(如 Controller、Service 等)
也就是说,加了这个注解的类,就是整个 Spring Boot 应用的入口点。
看个例子:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
3. 什么是控制器(Controller)?
在 Spring Boot 中,控制器是用来处理 HTTP 请求的。你可以把它看作是一个“接待员”,负责接收客户端发来的请求,并返回相应的响应内容。
比如,我们要写一个简单的接口,当用户访问 /hello 时返回“Hello World”。
代码示例:
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表示这个类是 REST 风格的控制器@GetMapping表示这是一个处理 GET 请求的方法- 方法返回的内容直接作为响应体发送给客户端
启动项目后,访问地址:http://localhost:8080/hello,你将看到页面上显示 "Hello World!"。
4. application.properties / application.yml
这两个文件是我们存放项目配置的地方,可以用来修改内嵌服务器的端口号、数据库连接信息等内容。
例如,将默认的 8080 端口改成 8000:
server.port=8000
或者使用 YAML 格式(更直观):
server:
port: 8000
这样下次启动项目,访问链接就变成:http://localhost:8000/hello
实战项目:动手开发一个简单的学生信息管理系统
接下来我们将通过一个小项目来加深对 Spring Boot 的理解。目标是实现一个简易的学生信息管理模块,包括:
- 显示所有学生信息
- 添加新的学生记录
- 删除指定学生记录
步骤一:创建项目结构
首先我们使用 Spring Initializr 创建一个新的 Spring Boot 项目,添加如下依赖:
- Spring Web
- Spring Data JPA
- H2 Database(轻量型内存数据库,便于演示)
创建完成后打开项目结构,你应该会在 src/main/java 下看到你的主类以及一个空的包结构。
步骤二:设计数据模型
我们先定义一个名为 Student 的实体类,对应数据库中的 student 表:
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
// Getters and Setters
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Integer getAge() { return age; }
public void setAge(Integer age) { this.age = age; }
}
这个类加上了 @Entity 注解,表示它会被映射为数据库表。
步骤三:创建数据仓库接口(Repository)
JPA 提供了一个 Repository 接口,我们可以继承它来获得基础的数据库操作能力。
import org.springframework.data.jpa.repository.JpaRepository;
public interface StudentRepository extends JpaRepository<Student, Long> {
}
有了这个接口,就可以实现对学生数据的基本增删改查。
步骤四:编写控制器
接下来我们编写一个控制器来提供对外的服务接口。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/students")
public class StudentController {
@Autowired
private StudentRepository repository;
// 获取所有学生
@GetMapping
public List<Student> getAllStudents() {
return repository.findAll();
}
// 添加新学生
@PostMapping
public Student addStudent(@RequestBody Student student) {
return repository.save(student);
}
// 删除学生
@DeleteMapping("/{id}")
public void deleteStudent(@PathVariable Long id) {
repository.deleteById(id);
}
}
这段代码实现了:
GET /students:获取所有学生数据POST /students:添加学生DELETE /students/{id}:按 ID 删除学生
步骤五:配置数据库(H2)
打开 application.properties 文件,添加以下内容:
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=update
这段配置告诉 Spring Boot 使用 H2 数据库,并且自动创建表结构。
步骤六:测试你的接口
启动项目后,我们可以使用 Postman 或 curl 来测试接口。
示例 1:添加学生
curl -X POST http://localhost:8080/students \
-H "Content-Type: application/json" \
-d '{"name": "张三", "age": 22}'
示例 2:查看所有学生
curl http://localhost:8080/students
你应该能收到类似这样的 JSON 回复:
[
{"id": 1, "name": "张三", "age": 22}
]
示例 3:删除学生
curl -X DELETE http://localhost:8080/students/1
再次查询 /students,你会发现那条记录已被删除。
新手常见问题解答
以下是几个新手在学习 Spring Boot 过程中最常遇到的问题和解决方案。
🚫 启动时报错:Port 8080 was already in use
原因:8080 端口被其他程序占用了。
解决办法:在 application.properties 中修改端口号:
server.port=8000
📦 添加依赖后无法解析
原因:Maven 依赖未正确配置或网络不稳定导致未能下载包。
解决办法:
- 确保
pom.xml中的依赖名称和版本号正确。 - 在 IntelliJ 中右键项目 -> Maven -> Reload Project。
- 检查网络连接,确保可以访问 Maven Central 仓库。
💻 控制器方法没生效
原因:
- 没有正确使用
@RestController - URL 路径拼写错误
- 方法没有打对应的注解(如
@GetMapping,@PostMapping)
检查方式:
- 查看控制台输出的映射路径(通常会有提示信息)
- 使用浏览器或 Postman 测试访问地址
🔧 想查看数据库表结构却不知道怎么下手?
你可以开启 H2 数据库的控制台,在 application.properties 中添加:
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
启动项目后访问:http://localhost:8080/h2-console
使用前面配置的 JDBC URL 和用户名密码登录即可查看和操作数据库。
学习建议:下一步该往哪里走?
恭喜你完成了这次 Spring Boot 的入门之旅!你现在已经能够创建一个简单的 Web 项目,并通过 HTTP 接口对数据库进行操作。但这只是冰山一角,想要真正掌握 Spring Boot,还有更多知识等着你去探索。
以下是一些进阶方向和学习资源推荐:
📘 继续深入学习的方向:
- 数据库操作进阶:学习如何使用 JPA 更高级的功能,比如关联表操作、原生 SQL 查询等。
- RESTful API 设计:了解如何设计规范、易维护的 API 接口,学习分页、排序、过滤等功能。
- 安全性控制:使用
Spring Security来保护你的接口,防止非法访问。 - 前端对接:结合 Vue.js 或 React 与后端 API 进行交互,完成一个完整的前后端分离应用。
- 部署上线:学习如何将 Spring Boot 项目打包成 jar 文件并部署到服务器上。
🧠 推荐学习资料:
- 官方文档:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
- 书籍推荐:
- 《Spring Boot实战》(汪云飞 著)
- 《Spring微服务实战》(John Carnell 著)
- 视频课程:B站、慕课网、腾讯课堂都有高质量的 Spring Boot 教程,适合边学边练。
- GitHub 示例:搜索开源的 Spring Boot 项目参考其架构和编码风格。
🌟 最后的小建议:
- 多动手实践,遇到问题不要怕 Google,90% 的问题前人都踩过坑。
- 加入技术社区(如 GitHub、Stack Overflow、掘金、知乎)交流经验。
- 不要追求“一口气学会所有”,每天进步一点点,坚持下去就会有意想不到的收获。
继续加油,愿你在 Spring Boot 的学习之路上越走越远!🌟

评论 0