Spring Boot 入门:60 分钟从零写出你的第一个后端服务
大家好,我是一个干了五年后端开发的“老油条”,平时也带过不少新人。最近有朋友问我:“现在想转行做后端,该从哪开始?” 我毫不犹豫地回答:Spring Boot。
为什么?因为它是目前 Java 后端生态里最主流、最友好的框架之一,企业用得多,面试常考,社区活跃,文档齐全。更重要的是——它真的能让你在 60 分钟内跑起一个能用的 Web 服务!
我当初学的时候,光是配个 XML 就折腾了三天。现在有了 Spring Boot,一切都被简化了。今天这篇教程,就是为完全零基础的同学准备的,哪怕你还没写过一行 Java 代码,也能跟着一步步走完。
为什么选 Spring Boot?和 Go 有什么关系?
先说清楚:Spring Boot 是 Java 生态的框架,Go 是另一门语言。但很多初学者会问:“现在不是 Go 很火吗?要不要直接学 Go?”
这是个好问题。Go 确实在云原生、高并发场景下表现优异,语法简洁,编译快,部署简单。但如果你的目标是快速求职、进入大厂或传统企业,Java + Spring Boot 的岗位数量依然远超 Go。根据主流招聘平台数据,Java 后端岗位常年稳居前三,而 Spring Boot 几乎成了标配。
所以我的建议是:
- 如果你目标是快速就业,优先学 Spring Boot。
- 如果你对云原生、微服务底层感兴趣,或者想进新兴互联网公司,可以后续再学 Go。
开发心得:技术没有绝对好坏,只有“适不适合当前阶段”。别一上来就追求“最潮”,先解决“能干活”的问题。
第一步:环境准备(10 分钟)
要写 Spring Boot 程序,你需要以下三样东西:
| 工具 | 作用 | 安装建议 |
|---|---|---|
| JDK 17(或 11) | Java 运行环境 | 推荐 Adoptium 下载 LTS 版本 |
| IntelliJ IDEA Community | 代码编辑器 | 免费,对 Spring 支持极好 |
| Maven 或 Gradle | 项目依赖管理工具 | IDEA 会自动帮你配,新手用 Maven 更常见 |
安装步骤(以 Windows / macOS 为例):
安装 JDK 17
- 下载 OpenJDK 17(如 Eclipse Temurin)
- 安装后打开终端,输入
java -version,看到类似:openjdk version "17.0.8" 2023-07-18
安装 IDEA
- 官网下载 IntelliJ IDEA Community
- 安装时勾选“.java 文件关联”即可
验证环境
- 打开 IDEA,新建一个空项目,如果没报错,说明环境 OK
💡 新手常见问题:
“为什么不用 JDK 8?”
虽然 JDK 8 很经典,但 Spring Boot 3.x 要求 JDK 17+,新项目建议直接上新版本。
第二步:理解核心概念(5 分钟)
Spring Boot 本质是“帮你自动配置 Spring 框架的工具”。那 Spring 是什么?
简单说:Spring 是一个让 Java 写后端更容易的“工具箱”,而 Spring Boot 是这个工具箱的“一键启动包”。
三个关键概念你必须知道:
Controller(控制器)
负责接收 HTTP 请求,比如用户访问/hello,由 Controller 处理。依赖注入(DI)
不用手动new对象,Spring 自动帮你创建并传递,减少耦合。自动配置(Auto-configuration)
比如你加了数据库依赖,Spring Boot 自动帮你连上,不用写几十行配置。
我当初学的时候,最头疼的就是“配置地狱”。Spring Boot 最大的价值,就是把 90% 的配置都默认做好了。
第三步:动手写第一个程序(20 分钟)
我们来做一个最简单的接口:访问 http://localhost:8080/hello,返回 "你好,Spring Boot!"。
步骤 1:创建项目
打开 IDEA → New Project → 选择 Spring Initializr
- Project SDK: 选你装的 JDK 17
- Language: Java
- Type: Maven
- Group:
com.example - Artifact:
demo - Dependencies: 勾选 Spring Web
点击 Next,Finish,等待项目生成(可能需要联网下载依赖)。
步骤 2:编写代码
在 src/main/java/com/example/demo 目录下,你会看到一个 DemoApplication.java,这是主启动类。
新建一个文件 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 "你好,Spring Boot!";
}
}
代码解释:
@RestController:告诉 Spring 这是个 Web 控制器,所有方法返回 JSON 或字符串@GetMapping("/hello"):当用户用 GET 方法访问/hello时,调用这个方法- 方法直接返回字符串,Spring 会自动转成 HTTP 响应体
步骤 3:运行程序
右键点击 DemoApplication.java → Run 'DemoApplication'
看到控制台输出:
Tomcat started on port(s): 8080
Started DemoApplication in 2.1 seconds
说明服务启动成功!
步骤 4:测试接口
打开浏览器,访问:http://localhost:8080/hello
你应该看到页面显示:
你好,Spring Boot!
✅ 恭喜!你已经完成了第一个 Spring Boot 应用!
第四步:扩展功能(15 分钟)
光返回字符串太简单?我们加点“真东西”——返回一个 JSON 对象。
场景:返回用户信息
新建一个 User 类:
package com.example.demo;
public class User {
private String name;
private int age;
// 构造函数
public User(String name, int age) {
this.name = name;
this.age = age;
}
// Getter 方法(必须有,否则 JSON 无法序列化)
public String getName() { return name; }
public int getAge() { return age; }
}
修改 HelloController:
@GetMapping("/user")
public User getUser() {
return new User("张三", 25);
}
重启应用,访问 http://localhost:8080/user,你会看到:
{
"name": "张三",
"age": 25
}
💡 开发心得:
Spring Boot 默认集成 Jackson,只要对象有 Getter,就能自动转成 JSON。不需要手动写序列化代码!
常见问题 & 避坑指南
❌ 问题 1:端口被占用,启动失败
错误信息:Web server failed to start. Port 8080 was already in use.
解决方法:
- 方法一:关闭占用 8080 的程序(比如另一个 Spring Boot 服务)
- 方法二:改端口。在
src/main/resources/application.properties中加一行:server.port=8081
❌ 问题 2:中文乱码
返回的中文变成 ????
解决方法:在 application.properties 中添加:
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
❌ 问题 3:找不到类或包
确保你的新类(如 User、HelloController)和主启动类 DemoApplication 在同一个包或子包下。Spring Boot 默认只扫描主类所在包及其子包。
接下来学什么?给求职者的建议
你已经迈出了第一步!但 Spring Boot 的世界远不止于此。以下是推荐的学习路径:
📚 学习路线图(按优先级)
| 阶段 | 内容 | 为什么重要 |
|---|---|---|
| 初级 | REST API、参数接收、异常处理 | 日常开发 80% 的工作 |
| 中级 | 连接数据库(MyBatis / JPA)、事务管理 | 几乎所有项目都要用 |
| 高级 | 安全(Spring Security)、缓存(Redis)、消息队列 | 面试高频考点 |
| 进阶 | 微服务(Spring Cloud)、Docker 部署 | 大厂必备技能 |
🎯 求职建议
- 不要只学 Spring Boot,要理解背后的 HTTP、REST、JSON 等基础概念。
- 动手做项目:哪怕是一个“待办事项”小应用,也比刷十道题有用。
- 对比学习 Go:当你熟悉 Spring Boot 后,可以尝试用 Go 写同样功能,体会不同语言的设计哲学。
我带过的新人里,最快拿到 offer 的,不是背面试题最多的,而是能独立跑通一个完整流程的人。
结语:60 分钟只是开始
今天这 60 分钟,你完成了:
- 搭建开发环境
- 理解核心概念
- 编写并运行第一个 Web 服务
- 返回 JSON 数据
- 解决常见问题
但这只是 Spring Boot 的冰山一角。真正的后端开发,还包括数据库交互、用户认证、日志监控、性能优化等。
但别怕!每一个大神,都曾卡在 Hello World 上。你现在已经跨过了最难的第一步。
接下来,去 GitHub 上找一个开源的 Spring Boot 项目,试着跑起来,改一改,看看效果。实践,才是最好的老师。
祝你编码顺利,早日拿下心仪的 offer!

评论 0