Spring Boot入门:60分钟从零到能跑的Web服务
大家好,我是掘金上那个总爱写“手把手”教程的后端工程师。今天这篇《Spring Boot入门:60分钟从零到能跑的Web服务》,是我专门为零基础朋友准备的。为什么写它?因为我在求职辅导中发现,很多同学卡在“环境配不对”、“代码跑不起来”这些第一步的问题上——明明有热情,却连门都进不去。
我当初学的时候也一样,装JDK装了一整天,还搞不清Maven和Gradle的区别。所以今天,我会用最直白的语言、最少的术语、最多的实践,带你60分钟内亲手写出一个能访问的接口。哪怕你连Java都没写过,只要会打开命令行,就能跟着做完。
一、Spring Boot 是什么?为什么求职时总被提到?
简单说:Spring Boot 是一个帮你快速搭建 Java Web 应用的工具箱。
想象你要做一顿饭:
- 没有 Spring Boot:你得自己生火(配服务器)、买锅(装Tomcat)、洗菜切菜(写配置)……还没炒菜就累瘫了。
- 有了 Spring Boot:它直接给你一个电磁炉+预处理好的食材包,你只需按说明炒一下就行。
在求职市场上,Spring Boot 几乎是 Java 后端岗的标配技能。无论是大厂还是中小公司,面试官都会问:“你用过 Spring Boot 吗?” 因为它简化了开发流程,让团队能快速交付功能。掌握它,是你进入 Java 后端世界的第一张通行证。
💡 小贴士:Spring Boot 不是编程语言,而是基于 Java 的框架。你需要先会一点 Java 基础(比如变量、方法、类),但不用精通。
二、环境准备:5分钟搞定开发套件
别怕!我们只装3个东西,全程图形化操作:
| 工具 | 作用 | 下载地址 |
|---|---|---|
| JDK 17 | Java 运行环境 | Oracle 官网 或 Adoptium |
| IntelliJ IDEA Community | 免费 IDE(代码编辑器) | JetBrains 官网 |
| Maven | 项目依赖管理工具 | IDEA 内置,无需单独安装 |
安装步骤(以 Windows 为例):
装 JDK 17
- 下载
.msi文件,双击安装,记住安装路径(如C:\Program Files\Java\jdk-17) - 验证:打开命令行(Win+R 输入
cmd),输入:
看到java -version17.x.x就成功了。
- 下载
装 IDEA
- 下载 Community 版(免费!),默认选项安装即可。
- 首次启动时,IDEA 会自动检测 JDK,选中你刚装的 JDK 17 路径。
⚠️ 常见坑:别装 JDK 8!虽然老项目还在用,但 Spring Boot 3.x 要求 JDK 17+。求职时写“熟悉 Spring Boot 3”比“只会 Spring Boot 2”更有竞争力。
三、核心概念:3个关键词看懂 Spring Boot
新手常被“自动配置”、“起步依赖”这些词吓住。其实它们很简单:
1. 起步依赖(Starter Dependency)
- 是什么:一堆常用库的打包组合。
- 例子:
spring-boot-starter-web= Tomcat(服务器) + Spring MVC(处理请求) + JSON 支持。 - 好处:你不用一个个找库,一行代码引入全家桶。
2. 自动配置(Auto-configuration)
- 是什么:根据你引入的依赖,自动配好参数。
- 例子:你加了
web起步依赖,Spring Boot 自动启动内嵌 Tomcat,监听 8080 端口。 - 好处:告别繁琐的 XML 配置文件!
3. 主启动类(Main Application Class)
- 是什么:带
@SpringBootApplication注解的类。 - 作用:告诉 Spring Boot “从这里开始运行”。
- 关键代码:
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
🌟 记住:Spring Boot 的哲学是 “约定优于配置” —— 默认值够用就别改,真要改再手动覆盖。
四、实战:手把手写一个“用户信息查询”接口
现在,我们用 20 分钟完成一个真实小项目:通过浏览器访问 /user/1,返回用户信息。
步骤 1:创建项目(5分钟)
- 打开 IDEA,点击 New Project
- 左侧选 Spring Initializr
- 填写:
- Project SDK: 选 JDK 17
- Language: Java
- Spring Boot: 选最新版(如 3.2.0)
- 点 Next,填写:
- Group:
com.example - Artifact:
demo
- Group:
- 在 Dependencies 中搜索并勾选:
Spring Web(这是 Web 开发的核心)
- 点 Finish,等待 IDEA 下载依赖(首次较慢,喝口水)
✅ 项目结构说明:
demo/ ├── src/main/java/com/example/demo/ │ └── DemoApplication.java ← 主启动类 └── pom.xml ← 依赖配置文件(Maven 用)
步骤 2:写一个 Controller(10分钟)
- 在
com.example.demo包下右键 → New → Java Class - 名字输入
UserController - 粘贴以下代码:
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 // 表示这个类里的方法都返回 JSON 数据
public class UserController {
// 模拟数据库数据
private static final Map<Integer, String> USER_DB = new HashMap<>();
static {
USER_DB.put(1, "张三");
USER_DB.put(2, "李四");
}
// GET 请求:/user/{id}
@GetMapping("/user/{id}")
public Map<String, Object> getUser(@PathVariable Integer id) {
Map<String, Object> result = new HashMap<>();
if (USER_DB.containsKey(id)) {
result.put("code", 200);
result.put("name", USER_DB.get(id));
} else {
result.put("code", 404);
result.put("message", "用户不存在");
}
return result;
}
}
代码解释:
@RestController:让整个类变成“接口提供者”@GetMapping("/user/{id}"):定义 URL 路径,{id}是动态参数@PathVariable:把 URL 中的{id}取出来赋给变量id
步骤 3:启动并测试(5分钟)
- 找到
DemoApplication.java,点击左边绿色三角 ▶️ 运行 - 看到控制台输出:
Tomcat started on port(s): 8080 (http) Started DemoApplication in 2.5 seconds - 打开浏览器,访问:
http://localhost:8080/user/1→ 返回{"code":200,"name":"张三"}http://localhost:8080/user/99→ 返回{"code":404,"message":"用户不存在"}
🎉 恭喜!你刚刚写出了人生第一个 Spring Boot 接口!
五、新手高频问题解答
Q1:为什么我的项目启动报错 “Port 8080 was already in use”?
原因:8080 端口被其他程序占用了(比如另一个 Spring Boot 项目没关)。
解决:
- 方法1:关掉占用端口的程序(Windows 用
netstat -ano | findstr :8080找 PID) - 方法2:改端口!在
src/main/resources/application.properties添加:server.port=8081
Q2:代码改了怎么生效?要重启吗?
- 默认需要重启。但可以开启 热部署(DevTools):
- 在
pom.xml的<dependencies>里加:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> - IDEA 设置:File → Settings → Build → Compiler → 勾选 Build project automatically
- 修改代码后按
Ctrl+F9(Build Project),几秒后自动生效!
- 在
Q3:如何连接真实数据库?
先别急!零基础阶段建议:
- 先用内存数据库 H2 练习(无需安装)
- 在
pom.xml加:<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> - 启动后访问
http://localhost:8080/h2-console就能操作数据库。
🔒 安全提示:H2 只用于学习!上线项目务必用 MySQL/PostgreSQL。
六、下一步学习建议:构建你的求职竞争力
你现在已经跨过了最难的第一步。但 Spring Boot 只是起点,想拿 offer 还需综合能力:
学习路径推荐(按优先级排序):
| 阶段 | 学习内容 | 时间投入 | 求职价值 |
|---|---|---|---|
| 1周 | RESTful API 设计规范、Postman 测试 | 10小时 | ★★★★☆ |
| 2周 | MyBatis-Plus 操作数据库 | 20小时 | ★★★★★ |
| 3周 | JWT 登录鉴权、Redis 缓存 | 30小时 | ★★★★☆ |
| 4周 | 项目实战:仿知乎问答系统 | 40小时 | ★★★★★ |
避坑指南:
- ❌ 不要一上来就啃《Spring 源码深度解析》——那是面试官问你才看的!
- ✅ 要多写小项目:用户管理、博客系统、短链接生成器……每个都能写进简历
- 💬 面试话术:别说“我会 Spring Boot”,要说“我用 Spring Boot 实现了 XX 功能,解决了 XX 问题”
结语:你的第一个技术作品,值得骄傲
60分钟前,你可能连 JDK 是什么都不知道;现在,你已经能独立开发 Web 接口了。这就是编程的魅力——从 0 到 1 的突破,永远比从 1 到 100 更珍贵。
我在带实习生时总说:“别怕代码丑,先让它跑起来。” 求职不是比谁理论强,而是比谁能快速交付可用的功能。Spring Boot 正是帮你实现这一点的最佳工具。
接下来,试着把今天的项目改成“图书查询系统”,或者加上“新增用户”功能。每多写一行代码,你就离 Offer 更近一步。
最后留个作业:修改
UserController,增加一个/user/list接口,返回所有用户。评论区交作业,我会抽3位朋友免费做简历诊断!
记住:你写的每一行代码,都在为未来的高薪铺路。

评论 0