Spring Boot零基础60分钟实战:文科生也能写出后端接口
大家好,我是一个从中文系转码成功的“野生程序员”。当初学Spring Boot的时候,光是“依赖注入”“自动配置”这些词就让我头晕目眩。但今天我想告诉你:哪怕你连Java都没写过,只要跟着这篇教程动手敲代码,60分钟内你就能跑起一个真正的后端服务!
这篇文章不讲大道理,只用最直白的语言+可运行的案例,带你快速入门Spring Boot。文末还附赠几个高频面试题挑战,助你迈出求职第一步。
为什么选Spring Boot?
简单说:它让Java后端开发变得超级简单。
传统Java Web开发要配几十个XML文件、搭Tomcat服务器、手动管理依赖……而Spring Boot就像“智能厨房”——你只需告诉它“我要做番茄炒蛋”,它自动准备好锅、油、火候,你专注放料就行。
我当初学的时候,光是配置Maven就折腾了三天。现在用Spring Boot,5分钟建好项目!
第一步:搭建开发环境(10分钟)
别怕!你只需要装三样东西:
| 工具 | 作用 | 安装建议 |
|---|---|---|
| JDK 17 | Java运行环境 | 推荐使用 Eclipse Temurin |
| IntelliJ IDEA Community | 免费IDE(代码编辑器) | 社区版完全够用 |
| Maven | 依赖管理工具 | IDEA已内置,无需单独安装 |
✅ 避坑指南:不要用JDK 8!Spring Boot 3.x要求J JDK 17+。我第一次就栽在这儿,项目死活跑不起来。
验证安装
打开终端,输入:
java -version
看到类似 openjdk version "17.0.9" 就说明OK!
第二步:创建你的第一个Spring Boot项目(15分钟)
方法一:用官网生成器(推荐新手)
- 打开 start.spring.io
- 填写:
- Project: Maven
- Language: Java
- Spring Boot: 3.2.x(最新稳定版)
- Group:
com.example(随便填) - Artifact:
demo
- 在 Dependencies 搜索框输入
Spring Web并添加 - 点击 Generate 下载zip包
方法二:用IDEA创建(更高效)
- 打开IDEA → New Project
- 选择 Spring Initializr
- 同样添加
Spring Web依赖
解压后用IDEA打开项目,你会看到这样的结构:
demo/
├── src/
│ └── main/
│ ├── java/com/example/demo/
│ │ └── DemoApplication.java ← 主程序入口
│ └── resources/
│ └── application.properties ← 配置文件
└── pom.xml ← 依赖声明文件
第三步:理解核心概念(通俗版)
1. 什么是“启动类”?
DemoApplication.java 是整个应用的开关:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@SpringBootApplication= 自动配置 + 组件扫描 + Spring Boot特性- 运行
main方法,服务就启动了!
2. 什么是Controller?
Controller就是“接待员”,负责接收用户请求并返回结果。
新建文件 src/main/java/com/example/demo/HelloController.java:
@RestController // 表示这个类专门返回数据(不是网页)
public class HelloController {
@GetMapping("/hello") // 当用户访问 /hello 时触发
public String sayHello() {
return "你好,Spring Boot!";
}
}
💡 关键点:
@RestController= 返回纯文本/JSON(不是HTML页面)@GetMapping= 处理GET请求(比如浏览器直接输入网址)
第四步:运行你的第一个接口(10分钟)
- 在IDEA中右键点击
DemoApplication.java→ Run 'DemoApplication' - 看到控制台输出:
Tomcat started on port(s): 8080 Started DemoApplication in 2.1 seconds - 打开浏览器,访问:http://localhost:8080/hello
✅ 你会看到页面显示:你好,Spring Boot!
🎉 恭喜!你刚刚完成了:
- 创建Web服务
- 定义API接口
- 返回响应数据
这就是后端开发的核心流程!
第五步:升级你的接口(返回JSON数据)
真实项目很少返回纯文本,通常用JSON格式。修改 HelloController:
@RestController
public class HelloController {
// 新增一个返回对象的方法
@GetMapping("/user")
public User getUser() {
User user = new User();
user.setName("小明");
user.setAge(25);
return user;
}
}
再创建 User.java:
public class User {
private String name;
private int age;
// 必须有getter/setter(Spring需要)
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
重启应用,访问 http://localhost:8080/user,你会看到:
{"name":"小明","age":25}
🔍 为什么不用写JSON转换代码?
因为Spring Boot自动引入了Jackson库,只要返回Java对象,它会自动转成JSON!
面试题挑战:你能答对几道?
学完基础,试试这些真实面试题(答案在文末):
- Q:Spring Boot默认启动端口是多少?如何修改?
- Q:@RestController 和 @Controller 有什么区别?
- Q:为什么User类必须有getter方法?
我当初面试就被问到第2题,答错了...现在你知道了吧?
常见问题 & 避坑指南
❌ 问题1:启动报错 Address already in use
原因:8080端口被其他程序占用(比如另一个Spring Boot项目)
解决:在 application.properties 添加:
server.port=8081
❌ 问题2:访问接口返回404
检查清单:
- Controller类是否加了
@RestController? - 方法是否加了
@GetMapping? - 包路径是否在启动类的子包下?(Spring Boot默认只扫描启动类所在包及其子包)
❌ 问题3:中文乱码
在 application.properties 添加:
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true
下一步学习建议
你已经掌握了Spring Boot的“Hello World”级能力!接下来可以:
- 学数据库操作:添加
Spring Data JPA+ H2内存数据库,实现CRUD - 学接口文档:集成Swagger,自动生成API文档
- 学项目结构:了解三层架构(Controller-Service-Repository)
- 做个小项目:比如“待办事项列表”(Todo List)
我的第一个完整项目就是Todo List,虽然简陋,但它让我拿到了第一份实习offer!
面试题答案
默认端口8080。修改方式:
- 配置文件:
application.properties中加server.port=9090 - 启动参数:
java -jar app.jar --server.port=9090
- 配置文件:
区别:
@Controller:返回视图名称(用于返回HTML页面)@RestController=@Controller+@ResponseBody,直接返回数据(JSON/文本)
因为Jackson序列化需要通过getter获取字段值。如果没有getter,JSON中该字段会为空或缺失。
最后送你一句话:我从背《滕王阁序》到写RESTful API,只差了一个“开始动手”的决心。Spring Boot没那么可怕,现在就去敲那几行代码吧! 60分钟后,你就是能跑通后端服务的人了。

评论 0