Spring Boot入门教程:60分钟快速上手
大家好,我是团队的培训负责人,带过几十位应届生从零开始成长为合格的后端工程师。每次看到新人面对Spring Boot时那种既兴奋又迷茫的眼神,我就想起自己当初学的时候——文档看不懂、配置搞不定、启动就报错……简直怀疑人生。
正因为如此,我决定写一篇真正面向零基础初学者的Spring Boot入门教程。不需要你懂Maven、不用先啃完《Spring源码深度解析》,只要你会一点点Java基础,就能在60分钟内跑起你的第一个Web应用!
这篇文章不仅教你“怎么做”,还会穿插面试题挑战、推荐经典书籍、分享真实实战经验,帮你避开我当年踩过的坑。
一、Spring Boot是什么?能用来做什么?
简单说:Spring Boot 是一个让Java开发变得更简单的框架。
- 它基于强大的 Spring 框架,但省去了大量繁琐的配置。
- 你可以用它快速搭建 Web 应用、微服务、API 接口、后台管理系统等。
- 公司里90%以上的Java后端项目都用它(或者它的“亲戚”Spring Cloud)。
💡 面试题挑战 #1
“Spring 和 Spring Boot 有什么区别?”
答案:Spring 是一个庞大的企业级开发框架,需要手动配置很多东西;Spring Boot 是 Spring 的“脚手架”,自动配置常用功能,让你开箱即用。
二、环境准备:5分钟搭好开发环境
所需工具清单
| 工具 | 版本建议 | 作用 |
|---|---|---|
| JDK | 17 或 21(推荐) | Java运行环境 |
| IntelliJ IDEA | 社区版(免费) | 代码编辑器 |
| Maven | 内置(IDEA自带) | 项目依赖管理 |
✅ 避坑指南:不要用JDK 8!虽然老项目还在用,但新学习强烈推荐JDK 17+,语法更简洁,社区支持更好。
步骤1:安装JDK
- 访问 Oracle JDK 或 OpenJDK
- 下载 JDK 17(LTS长期支持版本)
- 安装后,在终端输入:
如果看到类似java -versionopenjdk version "17.0.10",说明安装成功!
步骤2:安装IntelliJ IDEA
- 访问 https://www.jetbrains.com/idea/download/
- 下载 Community(社区版),完全免费
- 安装时勾选“关联 .java 文件”
📚 书籍推荐:如果你对IDE不熟,《Head First Java》第2章有详细IDE使用指导,适合零基础。
三、核心概念:用大白话讲清楚
1. “自动配置”是怎么回事?
传统Spring需要写一堆XML或Java配置来连接数据库、设置Web服务器。而Spring Boot会根据你加的依赖自动猜你需要什么。
比如:你加了spring-boot-starter-web,它就知道你要做Web开发,自动启动一个内嵌的Tomcat服务器!
2. “Starter”是什么?
Starter 是 Spring Boot 的“功能包”。每个 Starter 包含一组常用的依赖。
常用 Starter:
| Starter 名称 | 用途 |
|---|---|
spring-boot-starter-web |
开发Web应用、REST API |
spring-boot-starter-data-jpa |
操作数据库(配合Hibernate) |
spring-boot-starter-test |
单元测试 |
3. 主启动类:一切的入口
每个Spring Boot项目都有一个带 @SpringBootApplication 注解的类,它是程序的起点。
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
🔍 实战经验:这个类的位置很重要!必须放在其他组件的父包下,否则Spring Boot扫描不到你的Controller。
四、实战项目:60分钟写一个“Hello World” API
现在,我们动手做一个最简单的Web接口:访问 /hello 返回 "Hello, Spring Boot!"。
第1步:创建项目
- 打开 IntelliJ IDEA
- 选择 New Project → Spring Initializr
- 填写:
- Project SDK: 选择你安装的JDK 17
- Language: Java
- Type: Maven
- 在 Dependencies 中搜索并勾选:
- Spring Web
- 点击 Next → Finish
⏱️ 耗时:约2分钟(网速快的话)
第2步:编写Controller
在 src/main/java/com.example.demo 目录下(包名可能不同),新建一个类 HelloController.java:
package com.example.demo;
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, Spring Boot!";
}
}
代码解释:
@RestController:告诉Spring这是一个Web控制器,返回的内容直接作为HTTP响应体(不用跳转页面)@GetMapping("/hello"):当用户访问/hello路径时,执行这个方法
第3步:启动项目
- 找到
DemoApplication.java - 右键 → Run 'DemoApplication.main()'
你会看到控制台输出:
Tomcat started on port(s): 8080 (http)
Started DemoApplication in 2.5 seconds
第4步:测试接口
打开浏览器,访问:http://localhost:8080/hello
你应该看到:
Hello, Spring Boot!
🎉 恭喜!你已经完成了第一个Spring Boot应用!
💡 面试题挑战 #2
“@RestController 和 @Controller 有什么区别?”
答案:@Controller通常返回视图名称(如HTML页面),而@RestController = @Controller + @ResponseBody,直接返回数据(如JSON或字符串),适合做API。
五、常见问题 & 解决方案
❌ 问题1:启动报错 “Port 8080 was already in use”
原因:8080端口被其他程序占用了(比如另一个Spring Boot应用没关)。
解决:
- 方法1:关闭占用端口的程序
- 方法2:修改端口。在
src/main/resources/application.properties中添加:server.port=8081
❌ 问题2:访问 /hello 显示 404
原因:Controller 类不在主启动类的子包下,Spring Boot 扫描不到。
解决:
- 确保
HelloController的包路径是com.example.demo.xxx(主类是com.example.demo) - 或者在主类上加
@ComponentScan("你的controller包路径")
❌ 问题3:依赖下载失败(Maven error)
原因:网络问题或Maven镜像慢。
解决:
- 在IDEA中:File → Settings → Build → Maven → 修改
Maven home directory为本地Maven - 或者在
pom.xml同级目录下创建.mvn/maven.config文件,内容:-Dmaven.repo.local=.m2/repository
📚 实战经验:公司里经常遇到依赖冲突,建议新手先用Spring Initializr生成项目,避免手动改pom.xml出错。
六、下一步学习建议
你已经迈出了关键一步!接下来,我建议按这个路径深入:
📖 学习路线图
| 阶段 | 学习内容 | 推荐资源 |
|---|---|---|
| 第1周 | RESTful API设计、Postman测试 | 《Spring Boot实战》第3章 |
| 第2周 | 连接MySQL、JPA操作数据库 | B站“狂神说Java”Spring Boot系列 |
| 第3周 | 统一异常处理、日志记录 | 官方文档 + 自己写拦截器 |
| 第4周 | 单元测试(JUnit + Mockito) | 《测试驱动开发》 |
🔥 面试题挑战 #3(进阶)
“Spring Boot 的自动配置原理是什么?”
提示:关注@EnableAutoConfiguration和META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件。
📚 书籍推荐清单
| 书名 | 适合阶段 | 特点 |
|---|---|---|
| 《Spring Boot实战》 | 入门 | 代码多,案例实 |
| 《Spring微服务实战》 | 进阶 | 从单体到微服务 |
| 《Effective Java》 | 长期 | Java编程圣经,必读 |
💬 我的真心话:不要一上来就啃《Spring源码深度解析》!先会用,再理解原理。我带过的优秀应届生,都是先做项目,再回头补理论。
结语:你已经比80%的人走得更远
60分钟前,你可能连Spring Boot是什么都不知道;现在,你已经能独立写出一个可运行的Web接口。这不仅是技术的进步,更是信心的建立。
记住:所有高手,都曾是新手。我当初学的时候,光是搞懂“依赖注入”就花了两周。但只要你坚持写代码、多调试、敢提问,三个月后你就能参与真实项目开发。
下次面试官问:“你做过Spring Boot项目吗?” 你可以自信地说:“我从零开始,60分钟就跑通了第一个应用。”
加油!我在后端工程师的路上,等你一起前行。
✨ 彩蛋:把今天的代码上传到GitHub,写个README.md说明功能——这就是你简历上的第一个项目!

评论 0