从零写一个 RESTful API,我用 Spring Boot 试了试
背景
虽然 Java 是我的老本行(有证的那种),但很久没碰了。这篇文章算是「手生恢复训练」——用 Spring Boot 搭一个简单的 RESTful API。

项目初始化
用 Spring Initializr 生成基础项目:
- Spring Web
- Spring Data JPA
- PostgreSQL Driver
- Lombok
- Validation
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
基础架构
三层架构
Controller → Service → Repository → Database
- Controller:接收请求,返回响应
- Service:业务逻辑
- Repository:数据访问(JPA)
统一响应格式
@Data
@AllArgsConstructor
public class Result<T> {
private int code;
private String message;
private T data;
public static <T> Result<T> success(T data) {
return new Result<>(200, "success", data);
}
public static <T> Result<T> error(int code, String message) {
return new Result<>(code, message, null);
}
}
全局异常处理
用 @ControllerAdvice 统一处理异常,避免每个 Controller 写 try-catch。
对比 Node.js 版本
在博客的后端(Fastify 版)和 Spring Boot 版之间,我的一些对比感受:
| 维度 | Fastify (Node.js) | Spring Boot (Java) |
|---|---|---|
| 启动速度 | 毫秒级 | 3-5秒 |
| 内存占用 | ~30MB | ~200MB |
| 开发效率 | 快(热更新) | 中等(需要编译) |
| 类型安全 | TypeScript | 原生强类型 |
| 生态成熟度 | 中等 | 非常成熟 |
总结
Java 捡起来不难,基本的思维还在。但对于博客这种轻量应用,Node.js 更合适——开发速度快,资源占用小。Java 更适合大型企业应用。
下次可以试试 WebFlux 响应式编程,或者搞个 GraphQL。