Spring Boot 60分钟从零到跑通:新手实战指南
大家好,我是你们的老朋友阿哲,一名在一线大厂干了三年后端开发的工程师,平时也在B站做技术分享。最近收到不少私信:“学Java到底要不要学Spring Boot?”、“面试总被问Spring Boot,但我连环境都搭不起来”……
我当初学的时候也是一头雾水——官方文档太抽象,视频教程跳步太多,书本又厚得像砖头。于是今天我决定写一篇真正面向零基础的Spring Boot入门教程,不讲理论堆砌,只聚焦实战经验,带你用60分钟亲手跑起第一个项目。无论你是自学转行、在校学生,还是准备求职的新人,这篇都能帮你跨过那道“看起来很难”的门槛。
为什么是Spring Boot?
简单说:Spring Boot = Java + 快速开发框架。
它帮你自动配置数据库连接、Web服务器、安全策略等繁琐细节,让你专注写业务逻辑。现在90%以上的Java后端岗位都要求会Spring Boot,可以说——不会Spring Boot,等于不会Java后端。
我翻过市面上十几本《Spring实战》《精通Spring Boot》,但对新手最友好的方式永远是:先跑起来,再理解原理。所以本文不推荐你先啃书,而是直接动手!
第一步:搭建开发环境(10分钟)
你需要准备什么?
| 工具 | 版本建议 | 作用 |
|---|---|---|
| JDK | 17(或8/11) | Java运行环境 |
| IDE | IntelliJ IDEA(社区版免费) | 写代码的编辑器 |
| Maven | 内置(IDEA自带) | 项目依赖管理工具 |
💡 避坑提示:不要用Eclipse!对Spring Boot支持远不如IDEA。学生可申请JetBrains教育许可证,免费用正版IDEA。
安装步骤(以Windows为例):
- 安装JDK 17
去 Oracle官网 或 Adoptium 下载安装。 - 验证安装
打开终端,输入:
看到java -versionopenjdk version "17.x.x"即成功。 - 安装IntelliJ IDEA Community
官网下载安装即可,无需额外配置Maven。
✅ 我的经验:很多新手卡在环境变量配置。其实IDEA能自动识别JDK路径,只要
java -version能输出,基本就OK。
第二步:创建你的第一个Spring Boot项目(5分钟)
打开IDEA → New Project → 选择 Spring Initializr。
填写以下信息:
- Project SDK: 选择你安装的JDK 17
- Language: Java
- Type: Maven
- Group:
com.example(随便填,公司项目会用域名倒写) - Artifact:
demo - Dependencies: 只勾选
Spring Web
点击Next → Finish,等待几秒(Maven会自动下载依赖)。
🌟 关键点:Dependencies里只选
Spring Web!别贪多,新手加一堆依赖反而容易报错。
第三步:理解核心概念(用大白话)
在写代码前,先搞懂三个词:
1. Controller(控制器)
就像餐厅的服务员——接收顾客(浏览器)点单,通知厨房(业务逻辑)做菜,再把菜(数据)端回去。
2. REST API
一种约定好的“点单格式”。比如访问
/hello就返回"Hello World!"。
3. 自动配置(Auto-configuration)
Spring Boot的魔法!你不用手动启动Tomcat服务器,它自动给你配好。
第四步:动手写一个“Hello World”接口(15分钟)
目录结构说明
src
└── main
└── java
└── com.example.demo
├── DemoApplication.java ← 主启动类(别动它!)
└── controller
└── HelloController.java ← 我们要新建的文件
步骤1:新建 HelloController.java
右键 com.example.demo → New → Package → 输入 controller
右键 controller → New → Java Class → 输入 HelloController
步骤2:写代码
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
}
代码逐行解释:
@RestController:告诉Spring这是个控制器,返回内容直接当网页显示(不是跳转页面)@GetMapping("/hello"):当浏览器访问/hello路径时,执行下面的方法public String sayHello():方法名随意,返回字符串就是网页内容
步骤3:启动项目
找到 DemoApplication.java,右键 → Run 'DemoApplication'。
看到控制台输出:
Tomcat started on port(s): 8080
Started DemoApplication in 2.345 seconds
说明服务已启动!
步骤4:测试接口
打开浏览器,访问:http://localhost:8080/hello
你应该看到页面显示:Hello, Spring Boot!
✅ 恭喜!你已经完成了第一个Spring Boot应用!
第五步:升级一下——做个简单的用户查询(20分钟)
光返回字符串太简单?我们来模拟查数据库(实际用内存模拟,省去数据库配置)。
1. 创建 User 实体类
新建 package entity,创建 User.java:
package com.example.demo.entity;
public class User {
private Long id;
private String name;
private Integer age;
// 构造函数
public User(Long id, String name, Integer age) {
this.id = id;
this.name = name;
this.age = age;
}
// Getter 方法(IDEA可右键 Generate → Getter)
public Long getId() { return id; }
public String getName() { return name; }
public Integer getAge() { return age; }
}
2. 改造 HelloController
package com.example.demo.controller;
import com.example.demo.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@RestController
public class HelloController {
// 模拟数据库数据
private static final List<User> users = Arrays.asList(
new User(1L, "张三", 25),
new User(2L, "李四", 30),
new User(3L, "王五", 28)
);
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
// 新增:根据名字查用户
@GetMapping("/user")
public User getUserByName(@RequestParam String name) {
return users.stream()
.filter(user -> user.getName().equals(name))
.findFirst()
.orElse(null);
}
}
3. 测试新接口
重启项目(IDEA点上方红色方块停止,再点绿色三角启动)。
浏览器访问:http://localhost:8080/user?name=张三
返回:
{"id":1,"name":"张三","age":25}
💡 知识点:
@RequestParam用来获取URL参数(如?name=xxx中的name)
新手常见问题 & 解决方案
| 问题 | 原因 | 解决办法 |
|---|---|---|
启动报错 Port 8080 was already in use |
8080端口被占用 | 关闭其他程序,或在 application.properties 加 server.port=8081 |
| 访问接口返回404 | Controller没被扫描到 | 确保Controller在主启动类同包或子包下 |
| 依赖下载慢 | Maven默认源在国外 | 在 pom.xml 同级目录建 maven 文件夹,配置阿里云镜像(B站搜“Maven镜像配置”有视频) |
| 中文乱码 | Spring Boot默认UTF-8,但浏览器可能非UTF-8 | 返回JSON一般无问题;若需返回HTML,在Controller加 produces = "text/html;charset=utf-8" |
下一步学习建议(结合求职)
1. 别急着啃书!先做小项目
- 推荐项目:待办事项(Todo List)、天气查询API、博客系统(只有增删改查)
- 每完成一个功能,就往GitHub提交一次代码——这是你求职时最有力的作品集!
2. 书籍推荐(按顺序)
- 入门:《Spring Boot实战》(Craig Walls)→ 只看前6章
- 进阶:《Spring微服务实战》→ 面试常问微服务
- 不要一上来就读《Spring源码深度解析》!我见过太多人因此放弃。
3. 面试高频考点
- Spring Boot自动配置原理(知道
@EnableAutoConfiguration即可) - 如何读取配置文件(
@Value和@ConfigurationProperties) - RESTful API设计规范(GET/POST/PUT/DELETE用途)
4. 我的避坑忠告
- 不要试图一次性学完所有Spring生态(Security, Data, Cloud…)
- 先掌握 Web + JPA/MyBatis + 单元测试,就能应付80%初级岗位
- 每天写代码 > 看10小时视频
最后的话
60分钟到了,你已经亲手做出了一个能响应HTTP请求的Java后端服务。这比90%只停留在“收藏教程”阶段的人走得更远。
记住:Spring Boot不是魔法,只是帮你省去了重复劳动。真正的核心能力,是在理解基础上灵活运用。
如果你觉得这篇对你有帮助,欢迎去B站搜“阿哲后端课”,我会持续更新实战导向的Java/Spring系列。下期预告:《用Spring Boot + Vue3 搭建全栈待办清单》。
坚持写代码,下一个拿到offer的,就是你!

评论 0