Spring Boot 60分钟极速入门:零基础也能写出第一个后端接口

睿智的法师
2026-01-05 04:58
阅读 1392

大家好,我是公司技术团队的培训负责人,过去五年带过上百名应届生从零开始走上后端开发之路。每到招聘季,我都会收到大量简历,其中不少同学写着“熟悉Spring Boot”,但一问基础概念就露怯。其实,Spring Boot 并不难,关键在于用对方法、抓住核心

今天这篇教程,就是我结合多年带新人的经验,专为完全零基础的同学打造的——60分钟快速上手 Spring Boot。无论你是计算机专业学生,还是转行自学者,只要会写“Hello World”,就能跟下来。更重要的是,我会穿插求职建议开发心得,帮你避开我当年踩过的坑。

我当初学的时候,光是配环境就折腾了三天,最后发现只是 JDK 版本不对。别担心,这篇教程已经替你踩过雷了。


为什么选择 Spring Boot?

简单说:Spring Boot 是 Java 后端开发的事实标准

  • 它基于强大的 Spring 框架,但简化了配置
  • 内置 Tomcat,无需部署 WAR 包
  • 自动配置(Auto-Configuration)让你专注业务逻辑
  • 社区活跃,企业广泛使用 —— 这意味着:会 Spring Boot = 拿到求职敲门砖

补充一句:虽然标题提到 Go,但本文聚焦 Spring Boot。不过我常被问:“该学 Java 还是 Go?”我的建议是:求职优先选 Java(尤其大厂),兴趣探索可试试 Go。两者都是优秀语言,但生态和岗位数量目前 Java 仍占优。


第一步:环境准备(10分钟搞定)

必装软件清单

工具 推荐版本 用途
JDK 17(LTS) Java 运行环境
IDE IntelliJ IDEA Community 开发工具(免费)
构建工具 Maven(IDEA 内置) 项目依赖管理

避坑指南:不要用 JDK 8!虽然老项目多,但新项目普遍用 11 或 17。JDK 21 虽新,但部分库兼容性待验证,JDK 17 是当前最稳选择

验证安装

打开终端,执行:

java -version

应看到类似输出:

openjdk version "17.0.12" 2024-07-16

如果报错,请先正确安装 JDK 并配置 JAVA_HOME 环境变量。


第二步:创建你的第一个 Spring Boot 项目

方法:使用 Spring Initializr(官方推荐)

  1. 打开浏览器,访问 https://start.spring.io

  2. 填写如下信息:

    • Project: Maven
    • Language: Java
    • Spring Boot: 3.3.x(最新稳定版)
    • Group: com.example
    • Artifact: demo
    • Dependencies: 勾选 Spring Web
  3. 点击 “Generate” 下载 ZIP 包

  4. 解压后用 IDEA 打开整个文件夹

开发心得:永远用 Initializr 创建项目!手动配 pom.xml 容易出错,且 Initializr 自动生成最佳实践结构。


第三步:理解核心概念(用大白话解释)

1. 主启动类(Main Class)

src/main/java/com/example/demo 下找到 DemoApplication.java

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
  • @SpringBootApplication:这是 Spring Boot 的“魔法注解”,它包含了:
    • @Configuration:告诉 Spring 这是个配置类
    • @EnableAutoConfiguration:自动配置数据库、Web 等组件
    • @ComponentScan:自动扫描同包及子包下的组件

新手常见误区:以为要自己写一堆配置。其实 Spring Boot 的核心思想是“约定优于配置”——你只要按规矩放文件,它就自动干活。

2. Controller:处理 HTTP 请求

新建一个类 HelloController.java

package com.example.demo;

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 = @Controller + @ResponseBody,表示返回 JSON 或字符串,而非页面
  • @GetMapping("/hello"):当访问 /hello 路径时,调用此方法

3. 启动并测试

  1. 在 IDEA 中右键点击 DemoApplication.java → Run
  2. 控制台出现 Tomcat started on port(s): 8080 即成功
  3. 浏览器访问 http://localhost:8080/hello

你应该看到:Hello, Spring Boot!

恭喜!你已经完成了第一个后端接口开发。


第四步:实战小项目 —— 用户信息 API

现在我们做一个稍复杂的例子:提供用户查询接口。

目标

  • GET /users/1 → 返回用户 ID 为 1 的信息
  • 数据暂存于内存(不连数据库)

步骤 1:创建 User 实体类

package com.example.demo;

public class User {
    private Long id;
    private String name;
    private String email;

    // 构造函数
    public User(Long id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    // Getter 方法(必须!否则 JSON 序列化失败)
    public Long getId() { return id; }
    public String getName() { return name; }
    public String getEmail() { return email; }
}

步骤 2:创建 UserController

package com.example.demo;

import org.springframework.web.bind.annotation.*;

import java.util.*;

@RestController
@RequestMapping("/users")
public class UserController {

    // 模拟数据库
    private Map<Long, User> userDb = new HashMap<>();

    public UserController() {
        userDb.put(1L, new User(1L, "张三", "zhangsan@example.com"));
        userDb.put(2L, new User(2L, "李四", "lisi@example.com"));
    }

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userDb.get(id);
    }

    @GetMapping
    public List<User> getAllUsers() {
        return new ArrayList<>(userDb.values());
    }
}

步骤 3:测试接口

  • 访问 http://localhost:8080/users/1 → 返回 JSON:
    {"id":1,"name":"张三","email":"zhangsan@example.com"}
    
  • 访问 http://localhost:8080/users → 返回用户列表

开发心得:这个例子虽小,但涵盖了 RESTful API 的基本结构。面试官常问:“如何设计一个用户查询接口?” 你能现场写出这段代码,就超过 80% 的应届生。


新手高频问题解答

Q1:为什么我的接口返回 404?

  • 检查 Controller 类是否加了 @RestController
  • 检查方法是否加了 @GetMapping 等映射注解
  • 确保主启动类在 com.example.demo 包下(或父包),否则组件扫描不到

Q2:如何修改端口号?

src/main/resources/application.properties 中添加:

server.port=9090

重启后服务将在 9090 端口运行。

Q3:能用 Gradle 吗?

可以,但应届生建议先用 Maven。原因:

  • 国内企业 Maven 使用率 > 80%
  • 面试官更熟悉 Maven 项目结构
  • Gradle 脚本灵活但学习曲线陡

Q4:和 Go 的 Gin 框架比,哪个更简单?

  • Go 语法更简洁,启动更快,适合微服务
  • 但 Java 生态更成熟,调试工具强大,大型系统维护性好
  • 求职角度:如果你目标是阿里、腾讯、银行等,Java 是必选项;如果是初创公司或云原生方向,Go 机会也在增加

下一步学习路径建议

完成本教程后,你已经具备了 Spring Boot 的“最小可行能力”。接下来按顺序学习:

  1. 连接数据库:集成 MyBatis 或 JPA,实现真正的 CRUD
  2. 统一返回格式:封装 Result<T> 类,避免每个接口手写 JSON 结构
  3. 异常处理:用 @ControllerAdvice 全局捕获异常
  4. 单元测试:写 @WebMvcTest 测试 Controller
  5. 部署上线:打成 JAR 包,用 java -jar 启动

求职提醒:简历上不要写“了解 Spring Boot”,而要写“使用 Spring Boot 开发了 XX 功能,支持日均 1000+ 请求”。哪怕只是本地 demo,也要包装成项目经验。


最后的话

60 分钟很短,但足以让你跨过 Spring Boot 的门槛。我带过的很多学生,就是从这样一个简单的 /hello 开始,最终拿到了心仪 offer。

记住:技术学习不是比谁懂的多,而是比谁先跑通第一个完整流程。你现在能独立创建项目、写接口、启动服务——这已经是巨大进步。

如果你觉得这篇教程有帮助,不妨动手敲一遍代码。遇到问题?欢迎在评论区留言(假设这是博客)。下一步,去 GitHub 找一个开源 Spring Boot 项目,读它的 READMEController,你会发现:原来高手写的代码,也不过如此。

加油,未来的后端工程师!

评论 0

最热最新
暂无评论
睿智的法师Lv.1
0
影响力
0
文章
0
粉丝