Spring Boot 入门:60 分钟从零写出你的第一个 Java 后端服务
大家好,我是一名从培训班走出来的前端开发者,但工作后经常和后端同事打交道,深知很多新手(尤其是转行或刚毕业的同学)对 Java 和 Spring Boot 望而生畏。其实我自己当初学的时候,也对着“依赖注入”“自动配置”这些词一脸懵,差点以为自己不适合编程。
但后来我发现,Spring Boot 没那么可怕!它就像一个贴心的助手,帮你把 Java 后端开发中最繁琐的部分自动搞定。今天这篇教程,就是专门写给完全零基础的朋友——哪怕你连 Java 都没写过几行,只要跟着一步步来,60 分钟内,你也能跑起一个真正的 Web 服务!
为什么你需要学 Spring Boot?
在真实的产品开发中,后端负责处理数据、用户登录、订单逻辑等核心功能。而 Java 凭借稳定性高、生态成熟,长期是企业级产品的首选语言。但传统的 Java Web 开发配置复杂、步骤繁琐,新人很容易卡在环境搭建上。
Spring Boot 的出现,就是为了解决这个问题。它通过“约定优于配置”的理念,让你用最少的代码快速启动项目。这也是为什么几乎每场 Java 后端面试题都会问:“你用过 Spring Boot 吗?”
第一步:搭好你的开发环境(10分钟)
别怕!我们只需要三样东西:
| 工具 | 作用 | 安装建议 |
|---|---|---|
| JDK 8 或 17 | Java 运行环境 | 推荐 Oracle JDK 或 OpenJDK |
| IntelliJ IDEA | 代码编辑器 | 社区版免费,官网下载即可 |
| Maven | 项目依赖管理工具 | IDEA 内置,无需单独安装 |
✅ 避坑指南:我当初装了 JDK 21,结果某些老项目不兼容,折腾半天。建议新手直接装 JDK 17(LTS 长期支持版本),最稳妥!
验证是否安装成功
打开终端(Mac/Linux)或命令提示符(Windows),输入:
java -version
如果看到类似 openjdk version "17.0.8" 的输出,说明 OK!
第二步:创建你的第一个 Spring Boot 项目(5分钟)
不用手动建文件夹!Spring 官方提供了脚手架工具。
打开浏览器,访问 https://start.spring.io
填写以下信息:
- Project: Maven
- Language: Java
- Spring Boot: 3.x 最新版
- Group:
com.example(随便填,按惯例用域名倒写) - Artifact:
demo - Dependencies: 点击 Add Dependencies,搜索并添加 Spring Web
点击 Generate,下载 ZIP 文件
解压后,用 IntelliJ IDEA 打开整个文件夹
💡 小贴士:这一步相当于“一键生成项目骨架”,省去了手动配置 web.xml、pom.xml 的痛苦。我当初手动配了三天,现在想想真没必要!
第三步:理解几个关键概念(用大白话)
1. 什么是 “Controller”?
你可以把它想象成餐厅的“服务员”。用户(浏览器)点菜(发送请求),Controller 负责接单并返回菜品(响应数据)。
2. 什么是 “@RestController”?
这是一个“魔法标签”。只要加在类上,这个类里的方法就能直接返回 JSON 或文本,不用写额外配置。
3. 什么是 “端口”?
就像你家的门牌号。默认 Spring Boot 启动在 8080 端口,所以访问 http://localhost:8080 就能和你的程序对话。
第四步:动手写一个“产品查询”接口(20分钟)
我们的目标:当用户访问 /product/1,返回一个模拟的产品信息。
步骤 1:新建一个 Java 类
在 src/main/java/com/example/demo 目录下,右键 → New → Java Class
命名为 ProductController
步骤 2:写代码(复制粘贴即可)
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
public class ProductController {
@GetMapping("/product/{id}")
public Map<String, Object> getProduct(@PathVariable Long id) {
// 模拟数据库查产品
Map<String, Object> product = new HashMap<>();
product.put("id", id);
product.put("name", "Spring Boot 入门教程");
product.put("price", 0); // 免费!
return product;
}
}
代码解释(逐行拆解):
@RestController:告诉 Spring,这个类是 Web 接口入口@GetMapping("/product/{id}"):定义访问路径,{id}是动态参数@PathVariable Long id:把 URL 中的{id}取出来,转成数字- 返回一个
Map,Spring Boot 会自动转成 JSON
步骤 3:启动项目
找到 DemoApplication.java(名字可能略有不同),右键 → Run 'DemoApplication'
看到控制台输出:
Tomcat started on port(s): 8080 (http)
...
Started DemoApplication in 2.3 seconds
恭喜!你的后端服务已运行!
步骤 4:测试接口
打开浏览器,访问:http://localhost:8080/product/123
你会看到:
{
"id": 123,
"name": "Spring Boot 入门教程",
"price": 0
}
🎉 成功!你刚刚完成了一个真实的 API 开发!
第五步:常见问题 & 新手避坑指南
❌ 问题1:启动报错 “Address already in use”
原因:8080 端口被其他程序占用了(比如另一个 Spring Boot 项目)。
解决:在 application.properties 文件中(位于 src/main/resources)添加:
server.port=8081
重启即可。
❌ 问题2:访问页面显示 404
检查:
- 类是否加了
@RestController? - 方法是否加了
@GetMapping? - URL 路径是否拼写正确?(区分大小写!)
❌ 问题3:中文乱码
在 application.properties 中加入:
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
📌 经验之谈:我第一次写接口返回中文,结果全是“???”,查了一晚上才发现是编码问题。记住:Java 默认不一定是 UTF-8!
下一步怎么学?我的实战建议
你现在已经有能力写出简单的 API 了!但要真正应对面试题和参与产品开发,还需要进阶:
- 学数据库操作:用 Spring Data JPA 连接 MySQL,实现真正的增删改查
- 理解 RESTful 规范:GET/POST/PUT/DELETE 各代表什么操作
- 加个登录功能:学习 Spring Security 做权限控制
- 部署上线:把项目打包成 jar,放到云服务器运行
🔥 终极建议:不要死记概念!直接找一个小需求(比如“图书管理系统”),边做边查。我当初就是靠做一个“疫情打卡”小程序,才真正搞懂 Spring Boot。
结语:你比想象中更接近后端开发
看到这里,你已经完成了大多数人卡在第一步的事情——真正跑起了一个 Java 后端服务。Spring Boot 的设计哲学就是“让简单的事保持简单”,你不需要一开始就理解所有原理。
记住:每个资深工程师,都曾对着 404 页面抓狂过。坚持动手,多试多错,你很快就能在简历上写下:“熟悉 Spring Boot 开发”。
如果这篇教程帮到了你,欢迎分享给还在挣扎的小伙伴。毕竟,我也是从那个连 JDK 都装不明白的新手走过来的 😄
60 分钟,你做到了!

评论 0