Spring Boot入门教程:60分钟快速上手
大家好,我是一名开源项目的维护者,也经常参与技术面试。在带新人和面试过程中,我发现很多初学者对 Spring Boot 既向往又畏惧——觉得它“高级”,但不知道从哪里下手。其实 Spring Boot 的设计初衷,就是让 Java 后端开发变得简单、快速、开箱即用。
我当初学的时候,花了整整一周才跑通第一个“Hello World”,不是因为难,而是没人告诉我最核心的几步该怎么做。今天这篇教程,就是想帮你把这60分钟用在刀刃上——不讲理论堆砌,只聚焦你能立刻动手、立刻看到结果的关键步骤。文末还会附上几个高频 面试题 和 综合 学习建议,助你顺利迈出后端开发第一步。
一、Spring Boot 是什么?能用来做什么?
简单说:Spring Boot 是一个帮你快速搭建 Java Web 应用的工具包。
- 它基于 Spring 框架(Java 最流行的后端框架),但做了大量简化。
- 你不用再手动配置一堆 XML 文件,也不用担心依赖冲突。
- 写几行代码,就能启动一个 Web 服务,处理 HTTP 请求。
💡 举个生活化的例子:
如果传统 Spring 开发像自己买零件组装电脑(要选 CPU、主板、电源……),那 Spring Boot 就像直接买一台品牌整机——插电就能用,性能还很稳。
二、环境准备(10分钟)
你需要安装以下工具:
| 工具 | 版本建议 | 作用 |
|---|---|---|
| JDK | 17 或 21(推荐) | Java 运行环境 |
| IDE | IntelliJ IDEA(社区版免费)或 VS Code | 写代码的编辑器 |
| 构建工具 | Maven(默认)或 Gradle | 管理项目依赖 |
✅ 避坑指南:不要用 JDK 8!虽然老项目还在用,但新项目强烈建议用 JDK 17+,Spring Boot 3.x 已不再支持 JDK 8。
步骤1:安装 JDK
步骤2:创建项目(用 Spring Initializr)
这是 Spring Boot 官方提供的项目生成器,强烈推荐新手使用!
打开浏览器,访问:https://start.spring.io/
按如下配置填写:
- Project: Maven Project
- Language: Java
- Spring Boot: 3.3.x(最新稳定版)
- Project Metadata:
- Group:
com.example - Artifact:
demo
- Group:
- Dependencies(依赖):点击 Add Dependencies,搜索并添加:
Spring Web(用于构建 Web 接口)
点击 Generate,下载 ZIP 文件,解压后用 IDEA 打开。
🎯 小技巧:IDEA 也内置了 Spring Initializr!新建项目时选 “Spring Initializr” 即可,效果一样。
三、核心概念(用大白话解释)
刚接触时,你可能会听到这些词,别怕,我用最直白的方式解释:
| 术语 | 实际含义 | 类比理解 |
|---|---|---|
| Controller | 处理用户请求的“接待员” | 就像餐厅服务员,接收点单(HTTP 请求),通知厨房(业务逻辑) |
| RequestMapping | 绑定 URL 路径和方法的“门牌号” | /hello → 对应 sayHello() 方法 |
| Application | 整个程序的“启动按钮” | 主类里有 main() 方法,运行它就启动服务 |
| Starter | 预打包的功能模块(如 Web、数据库) | 就像乐高套装,加一个 spring-boot-starter-web 就自动包含 Tomcat、JSON 解析等 |
四、实战项目:写一个“问候服务”(30分钟)
目标:访问 http://localhost:8080/hello?name=张三,返回 "你好,张三!"
步骤1:找到主启动类
在 src/main/java/com/example/demo 目录下,你会看到一个叫 DemoApplication.java 的文件:
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);
}
}
这个类就是整个应用的入口。先别动它,保持原样即可。
步骤2:创建 Controller
在同一个包下,新建一个 Java 文件:HelloController.java
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello(@RequestParam(defaultValue = "朋友") String name) {
return "你好," + name + "!";
}
}
代码解释:
@RestController:告诉 Spring 这是一个 Web 控制器,返回的内容直接作为 HTTP 响应(而不是跳转页面)。@GetMapping("/hello"):当用户用 GET 方式访问/hello路径时,执行下面的方法。@RequestParam:从 URL 参数中获取name的值。如果没传,默认是“朋友”。
步骤3:启动项目
- 在 IDEA 中,右键点击
DemoApplication.java→ Run 'DemoApplication' - 看到控制台输出:
表示启动成功!Tomcat started on port(s): 8080 (http) Started DemoApplication in 2.345 seconds
步骤4:测试接口
打开浏览器,输入:
http://localhost:8080/hello?name=小明
你会看到页面显示:
你好,小明!
✅ 恭喜!你已经完成了第一个 Spring Boot 应用!
五、常见问题 & 新手避坑(10分钟)
❓ 问题1:启动报错 Port 8080 was already in use
原因:你的电脑 8080 端口被其他程序占用了(比如另一个 Spring Boot 项目、Docker 容器等)。
解决:
- Windows:
netstat -ano | findstr :8080找到 PID,任务管理器结束进程。 - Mac/Linux:
lsof -i :8080→kill -9 <PID> - 或者改端口:在
src/main/resources/application.properties中加一行:server.port=8081
❓ 问题2:访问页面显示 404
可能原因:
- Controller 类没放在主启动类的子包下(Spring Boot 默认只扫描主类所在包及子包)。
- 方法没加
@GetMapping或路径写错。
检查清单:
- ✅
HelloController.java和DemoApplication.java在同一个包或子包? - ✅ 方法上有
@GetMapping("/hello")吗? - ✅ 浏览器地址是
http://localhost:8080/hello(不是8081或其他)?
❓ 问题3:中文乱码
解决:在 application.properties 中添加:
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
六、高频面试题 & 综合学习建议
🔍 面试题1:Spring Boot 和 Spring 有什么区别?
答:Spring 是一个庞大的企业级框架,功能强大但配置复杂;Spring Boot 是 Spring 的“脚手架”,通过约定优于配置(Convention over Configuration)的理念,自动配置常用组件(如内嵌 Tomcat、JSON 转换),让你专注业务逻辑。
🔍 面试题2:@SpringBootApplication 注解的作用是什么?
答:这是一个组合注解,相当于同时加上了:
@Configuration(声明当前类是配置类)@EnableAutoConfiguration(启用自动配置)@ComponentScan(自动扫描同包及子包下的组件)
🔍 面试题3:如何修改 Spring Boot 的启动端口?
答:有三种方式(按优先级排序):
- 命令行参数:
java -jar app.jar --server.port=9090- 配置文件
application.properties:server.port=9090- 代码中设置(不推荐):
SpringApplication.set...
七、下一步怎么学?(综合路径建议)
你已经迈出了最关键的一步!接下来,我建议按这个顺序深入:
巩固基础(1周):
- 学习 RESTful API 设计规范
- 掌握
@PostMapping,@PathVariable,@RequestBody等常用注解 - 了解
application.properties配置文件的作用
连接数据库(2周):
- 添加
Spring Data JPA+H2(内存数据库,无需安装) - 实现简单的增删改查(CRUD)
- 添加
项目实战(3周+):
- 做一个“待办事项(Todo List)”API
- 加入用户登录、数据校验、全局异常处理
扩展知识:
- 学习 Spring Security(安全认证)
- 了解 Spring Boot Actuator(监控)
- 尝试部署到云服务器(如阿里云、腾讯云)
💬 最后送你一句话:
我当初学的时候,也是从一个“Hello World”开始的。所有复杂的系统,都始于一行能跑起来的代码。别怕犯错,多动手,60分钟后,你已经比昨天的自己更接近成为一名后端工程师了!
祝你编码愉快,有问题欢迎留言交流!

评论 0