Spring Boot入门教程:60分钟快速上手

热更新信徒
2025-12-19 10:29
阅读 1525

大家好,我是掘金上的一名全栈工程师,985科班出身,也带过不少零基础的同学入门后端开发。今天写这篇《Spring Boot 入门教程》,是因为我当初学的时候踩过太多坑——文档太晦涩、环境配不上、概念绕晕人……所以我决定用最通俗的语言,带你60分钟快速上手 Spring Boot,哪怕你连 Java 都没写过几行!

提示:本文虽面向零基础,但建议你至少知道“什么是编程”、“变量是什么”。如果你完全没接触过编程,先花1小时学点 Java 基础(比如变量、方法、类),效果会更好。


一、Spring Boot 是什么?能用来做什么?

简单说,Spring Boot 是一个帮你快速搭建 Java 后端服务的框架

想象你要开一家餐厅:

  • 没有 Spring Boot:你要自己砌墙、装水管、买灶台、招厨师……累死。
  • 有了 Spring Boot:它已经给你建好了厨房、装好了水电、配好了灶具,你只需要专注做菜(写业务逻辑)就行!

Spring Boot 的核心优势是 “约定优于配置” —— 它帮你预设了大量默认配置,你不用写一堆 XML 文件就能跑起一个 Web 服务。

🌟 关键词解释

  • 后端:处理数据、逻辑、数据库交互的部分(比如用户登录验证)。
  • 前端:用户看到的界面(比如网页、App 页面),通常用 HTML/CSS/JavaScript 写。
  • 综合:Spring Boot 常和前端配合,构成完整应用。比如前端用 JavaScript 发请求,后端用 Spring Boot 返回数据。
  • Go:虽然 Go 也是后端语言(如 Gin 框架),但 Spring Boot 是 Java 生态的首选,两者可对比学习。

二、环境准备(10分钟搞定)

我们需要安装以下工具:

工具 作用 安装建议
JDK 17 Java 运行环境 推荐 Adoptium Temurin 17
IntelliJ IDEA Community 代码编辑器 免费,比 Eclipse 更友好
Maven 项目依赖管理工具 IDEA 内置,无需单独安装

安装步骤(Windows/Mac 通用):

  1. 安装 JDK 17

    • 下载安装包,一路下一步
    • 打开终端,输入 java -version,看到 17.x.x 即成功
  2. 安装 IntelliJ IDEA

    • 官网下载 Community 版(免费)
    • 安装时勾选 .java 文件关联
  3. 验证环境

    • 打开 IDEA → Create New Project → 选择 Spring Initializr
    • 如果能看到 Spring Boot 选项,说明环境 OK!

💡 避坑指南:不要用 JDK 8!Spring Boot 3.x 要求 JDK 17+。我当初就卡在这一步,折腾半天才发现版本不对。


三、核心概念:用大白话讲清楚

1. 什么是“后端服务”?

后端服务就像餐厅的后厨:

  • 前端(服务员)收到顾客(用户)点单 →
  • 把订单(HTTP 请求)传给后厨(Spring Boot) →
  • 后厨做菜(处理逻辑)→
  • 把菜(JSON 数据)端给服务员 →
  • 服务员上菜(前端展示)

2. 关键角色解释

概念 类比 代码中长什么样
Controller 厨房接单员 @RestController 标注的类
Request Mapping 菜单编号 @GetMapping("/hello")
Response 做好的菜 return "Hello World!";
Port 餐厅电话号码 默认 8080,访问 http://localhost:8080

3. 为什么用 Spring Boot 而不是原生 Java?

原生 Java 写 Web 服务要写几十行配置,而 Spring Boot 只需:

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

加一个 Controller:

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot!";
    }
}

运行后,浏览器访问 http://localhost:8080/hello,立刻看到文字!

这就是 Spring Boot 的魔力:少写配置,多写业务!


四、实战项目:做一个“待办事项”API(30分钟)

我们将做一个简单的 API,支持:

  • 查看所有任务(GET)
  • 添加新任务(POST)

步骤 1:创建项目

  1. 打开 IDEA → New Project → Spring Initializr
  2. 填写:
    • Project SDK: JDK 17
    • Language: Java
    • Spring Boot: 3.x(最新版)
  3. Dependencies(依赖)添加:
    • Spring Web(必选)
    • (其他先不加,保持简单)

点击 Next → Finish,等待 Maven 下载依赖(首次较慢)。

步骤 2:定义数据模型

src/main/java/com.example.demo 下新建 Task.java

public class Task {
    private Long id;
    private String title;
    private boolean completed;

    // 构造函数
    public Task(Long id, String title) {
        this.id = id;
        this.title = title;
        this.completed = false;
    }

    // Getter 和 Setter(IDEA 可右键 Generate 自动生成)
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getTitle() { return title; }
    public void setTitle(String title) { this.title = title; }
    public boolean isCompleted() { return completed; }
    public void setCompleted(boolean completed) { this.completed = completed; }
}

步骤 3:编写 Controller

新建 TaskController.java

import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;

@RestController
@RequestMapping("/tasks")
public class TaskController {

    private List<Task> tasks = new ArrayList<>();
    private AtomicLong idGenerator = new AtomicLong();

    // GET /tasks → 获取所有任务
    @GetMapping
    public List<Task> getAllTasks() {
        return tasks;
    }

    // POST /tasks → 添加新任务
    @PostMapping
    public Task addTask(@RequestBody Task task) {
        task.setId(idGenerator.incrementAndGet());
        tasks.add(task);
        return task;
    }
}

🔍 关键点解释

  • @RequestBody:告诉 Spring 从请求体(JSON)中读取数据
  • AtomicLong:线程安全的 ID 生成器(避免并发问题)

步骤 4:测试 API

  1. 点击 IDEA 左侧绿色 ▶️ 运行 DemoApplication
  2. 等待控制台出现 Tomcat started on port(s): 8080
  3. 打开浏览器访问 http://localhost:8080/tasks → 返回 [](空列表)
  4. Postmancurl 发送 POST 请求:
curl -X POST http://localhost:8080/tasks \
  -H "Content-Type: application/json" \
  -d '{"title":"学习Spring Boot"}'

再访问 GET /tasks,就能看到刚添加的任务!

💡 没有 Postman? 用在线工具 reqbin.com 也能发 POST 请求。


五、常见问题 & 解决方案

问题 原因 解决方法
启动报错 UnsupportedClassVersionError JDK 版本低于 17 升级 JDK 到 17+
访问 localhost:8080 显示 404 路径写错或 Controller 未扫描 检查 @RequestMapping 和包路径是否在主类同级或子包
POST 请求返回 400 JSON 格式错误或缺少字段 确保发送的 JSON 有 title 字段,且 Content-Type 为 application/json
IDEA 提示 “Cannot resolve symbol” Maven 依赖未加载完 点击右侧 Maven → Reload Projects

🛠️ 调试技巧:在 Controller 方法里加 System.out.println("收到请求");,看控制台是否有输出。


六、学习建议 & 下一步路线

你已经完成了 Spring Boot 的第一个 60 分钟!接下来:

短期目标(1周内):

  • 给 Task 加上“完成/未完成”状态切换(PUT 请求)
  • 用 H2 内存数据库替代 List(引入 spring-boot-starter-data-jpa
  • 写一个简单的 HTML + JavaScript 前端,调用你的 API(综合前后端)

中长期路线:

Spring Boot 基础 → 数据库(MySQL + JPA) → 用户认证(Spring Security)
       ↓
整合前端(Vue/React) → 部署上线(Docker + 云服务器)

对比学习建议:

  • 如果你对 Go 感兴趣,可以试试用 Gin 框架实现同样的 Todo API,对比两者的代码量和性能。
  • 不要同时学多个后端框架!先精通一个(推荐 Spring Boot),再横向扩展。

结语

我当初学 Spring Boot 时,光是配环境就花了两天。现在有了 Spring Initializr 和现代 IDE,新手门槛大大降低。你缺的不是天赋,而是一个清晰的入门路径

记住:每个大神都曾卡在 Hello World 上。你现在写的这几行代码,就是未来复杂系统的起点。

🌈 行动建议:现在就打开 IDEA,照着教程敲一遍代码!遇到问题,欢迎在评论区留言,我会一一解答。

下期预告:《Spring Boot + Vue 实现全栈 Todo 应用》,教你把今天的 API 变成真正可用的网页!


作者:某985全栈工程师,掘金专栏《零基础学后端》主理人。坚持用最朴素的语言,讲最硬核的技术。

评论 0

最热最新
暂无评论
热更新信徒Lv.1
0
影响力
0
文章
0
粉丝