Spring Boot入门教程:60分钟快速上手 —— 一个裸辞半年的前大厂程序员的自救笔记
作者:李工,前某一线大厂后端开发,现居北京天通苑,房租3500/月,正在重新找工作。
上周五晚上十一点,我窝在天通苑那张吱呀作响的二手宜家书桌前,一边啃着冷掉的炸鸡,一边盯着屏幕上不断报错的 Whitelabel Error Page。老婆在隔壁房间轻声问我:“还没搞定?明天不是要投简历了吗?”
我苦笑了一下:“快了,就差一个接口联调……”
其实哪是“快了”,根本就是卡死了。前端同事(哦不,现在是我自己)写的 Vue 页面死活收不到后端返回的 JSON 数据。那一刻,我真的有点想砸键盘——裸辞半年,技术生疏到连个 Hello World 都跑不利索了。
但你知道吗?就在那个凌晨两点的崩溃时刻,我突然意识到:Spring Boot 这东西,其实没那么难。只要搞清楚几个关键点,60 分钟真能上手做出一个前后端联调的小项目。今天这篇文章,就是写给和我一样——曾经在大厂写过几年 Java,但 Gap 期荒废了技能、又急着重新杀回职场的兄弟姐妹们。
裸辞之后:从“架构师幻觉”到“连环境都配不好”
事情得从去年十月说起。
当时我在某头部互联网公司做后端,月薪22k,但每天加班到十点是常态。有天深夜打车回家,看到天通苑地铁站外排成长龙的共享单车,突然觉得:这日子不对劲。第二天我就跟领导提了离职,理由很中二:“我想找回写代码的初心。”
结果呢?Gap 第一个月还在刷 LeetCode、看《深入理解 JVM》,第二个月开始焦虑失眠,第三个月连 IDEA 都懒得打开了。等到今年三月春招启动,我才发现:市场变了,JD 上清一色写着“精通 Spring Cloud、熟悉微服务治理、有高并发经验”——而我连本地 Maven 仓库都好久没更新了。
更惨的是,面试官问:“你最近有做过什么项目吗?”
我支支吾吾:“呃……在家研究源码。”
对方礼貌一笑:“好的,我们再联系。”
现实狠狠给了我一巴掌:没有可演示的项目,简历就是一张废纸。
于是上周,我下定决心:用最短时间,做一个能跑起来的 Spring Boot + 前端小 demo,至少证明我还“活着”。
60分钟实战:从零搭建一个 TodoList 应用
第一步:环境准备(5分钟)
别整那些花里胡哨的。打开 start.spring.io,选好:
- Project: Maven
- Language: Java
- Spring Boot: 3.2.x(最新稳定版)
- Dependencies: Spring Web, Spring Data JPA, H2 Database
为什么选 H2?因为不用装 MySQL!本地内存数据库,重启即清空,完美适合练手。
下载 zip 包,解压,用 IDEA 打开。别改任何配置,直接点运行按钮。如果控制台出现 Tomcat started on port(s): 8080,恭喜,你已经赢了 50% 的人。
内心 OS:以前在公司,光申请开发机权限就要走三天流程,现在自己电脑上 5 分钟跑起服务,爽!
第二步:写个 Controller(10分钟)
在 src/main/java/com/example/demo 下新建 TodoController.java:
@RestController
@RequestMapping("/api/todos")
public class TodoController {
@GetMapping
public List<String> getAllTodos() {
return Arrays.asList("买菜", "交房租", "改简历");
}
@PostMapping
public String addTodo(@RequestBody Map<String, String> todo) {
// 简化处理,实际应存入数据库
return "Added: " + todo.get("content");
}
}
启动应用,浏览器访问 http://localhost:8080/api/todos,看到 JSON 数组了吗?这就是你的第一个 RESTful API。
吐槽:以前在大厂,光写个 Controller 要过 Code Review、单元测试覆盖率检查、安全扫描……现在?先跑起来再说!
第三步:加个前端页面(20分钟)
我知道你说:“我是后端,不会前端!” 别慌,用最简单的 HTML + Axios。
在 src/main/resources/static 下新建 index.html:
<!DOCTYPE html>
<html>
<head>
<title>我的待办清单</title>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
<h1>Todo List</h1>
<ul id="todo-list"></ul>
<input type="text" id="new-todo" />
<button onclick="addTodo()">添加</button>
<script>
function loadTodos() {
axios.get('/api/todos')
.then(res => {
const list = document.getElementById('todo-list');
list.innerHTML = '';
res.data.forEach(todo => {
const li = document.createElement('li');
li.textContent = todo;
list.appendChild(li);
});
});
}
function addTodo() {
const input = document.getElementById('new-todo');
axios.post('/api/todos', { content: input.value })
.then(() => {
input.value = '';
loadTodos();
});
}
loadTodos(); // 页面加载时获取数据
</script>
</body>
</html>
刷新 http://localhost:8080,一个丑但能用的 TodoList 出现了!前后端联调成功。
真实感受:那一刻我差点哭出来——原来我还能写出能跑的代码!
第四步:接入数据库(25分钟)
前面的数据是假的,现在让它持久化。
在
application.properties中添加:spring.datasource.url=jdbc:h2:mem:testdb spring.h2.console.enabled=true创建实体类
Todo.java:@Entity public class Todo { @Id @GeneratedValue private Long id; private String content; // getter/setter 省略 }创建 Repository:
public interface TodoRepository extends JpaRepository<Todo, Long> {}修改 Controller,注入 Repository 并操作数据:
@Autowired private TodoRepository todoRepo; @GetMapping public List<Todo> getAllTodos() { return todoRepo.findAll(); } @PostMapping public Todo addTodo(@RequestBody Todo todo) { return todoRepo.save(todo); }
重启应用,访问 http://localhost:8080/h2-console(用户名 sa,密码留空),能看到数据表了!再试试前端页面,数据真的存进去了。
恭喜!你已掌握 Spring Boot 最核心的 CRUD 流程。
为什么这60分钟对我如此重要?
说实话,在写这个 Demo 之前,我一度怀疑自己是不是不适合做程序员了。Gap 期间投了 87 份简历,只收到 3 个面试,还都挂在了“缺乏近期项目经验”这一关。
但做完这个小项目后,我做了三件事:
- 把代码传到 GitHub,README 写得明明白白;
- 录了个 2 分钟的屏幕操作视频,发到朋友圈;
- 在简历的“个人项目”栏加了一行:“基于 Spring Boot + Vue 的全栈 TodoList 应用”。
结果?三天内收到 5 个 HR 主动联系。昨天有个创业公司 CTO 直接说:“你这个项目虽然简单,但能看出你确实会动手,来聊聊吧?”
给同样在 Gap 期挣扎的你:几点真心话
别被“精通”吓住。企业要的不是神,而是能解决问题的人。一个能跑通的 Demo,比十篇“深入源码”文章更有说服力。
前端不用怕。现在的前端框架太友好了,Axios + 原生 JS 足够应付 80% 的联调场景。真不行,用 Thymeleaf 写服务端渲染也行啊!
Java 生态依然坚挺。Spring Boot 是目前最平滑的 Java 入口,学它等于同时掌握了 Web 开发、数据库操作、REST API 设计——这些都是面试高频考点。
行动打败焦虑。我算过,每天花 1 小时写代码,一周就能做出一个像样的项目。而瘫在床上刷招聘软件,只会越刷越慌。
最后:关于天通苑、房租和未来
写完这篇教程时,已经是凌晨三点。窗外偶尔传来外卖电动车的声音,天通苑的夜从来不算安静。下个月房租又要交了,3500 块,占我存款的三分之一。
但我心里踏实多了。
因为我知道,只要还能写出能跑的代码,我就没被淘汰。Spring Boot 不是什么魔法,它只是一个工具——而工具,永远掌握在愿意动手的人手里。
如果你也在 Gap 期迷茫,请记住:别等“准备好”才开始,开始做了,你就准备好了。
共勉。
P.S. 这个 TodoList 项目我开源了,GitHub 搜
gap-year-springboot-demo就能找到。欢迎 Star,更欢迎 PR —— 说不定我们能在某个公司的会议室里,笑着聊起这段“天通苑自救史”。

评论 0