Spring Boot入门:60分钟从零到能跑的Web服务

◆高思远
2026-04-02 14:37
阅读 1907

大家好,我是掘金上那个总爱写“手把手”教程的后端工程师。今天这篇《Spring Boot入门:60分钟从零到能跑的Web服务》,是我专门为零基础朋友准备的。为什么写它?因为我在求职辅导中发现,很多同学卡在“环境配不对”、“代码跑不起来”这些第一步的问题上——明明有热情,却连门都进不去。

我当初学的时候也一样,装JDK装了一整天,还搞不清Maven和Gradle的区别。所以今天,我会用最直白的语言、最少的术语、最多的实践,带你60分钟内亲手写出一个能访问的接口。哪怕你连Java都没写过,只要会打开命令行,就能跟着做完。


一、Spring Boot 是什么?为什么求职时总被提到?

简单说:Spring Boot 是一个帮你快速搭建 Java Web 应用的工具箱

想象你要做一顿饭:

  • 没有 Spring Boot:你得自己生火(配服务器)、买锅(装Tomcat)、洗菜切菜(写配置)……还没炒菜就累瘫了。
  • 有了 Spring Boot:它直接给你一个电磁炉+预处理好的食材包,你只需按说明炒一下就行。

在求职市场上,Spring Boot 几乎是 Java 后端岗的标配技能。无论是大厂还是中小公司,面试官都会问:“你用过 Spring Boot 吗?” 因为它简化了开发流程,让团队能快速交付功能。掌握它,是你进入 Java 后端世界的第一张通行证

💡 小贴士:Spring Boot 不是编程语言,而是基于 Java 的框架。你需要先会一点 Java 基础(比如变量、方法、类),但不用精通。


二、环境准备:5分钟搞定开发套件

别怕!我们只装3个东西,全程图形化操作:

工具 作用 下载地址
JDK 17 Java 运行环境 Oracle 官网Adoptium
IntelliJ IDEA Community 免费 IDE(代码编辑器) JetBrains 官网
Maven 项目依赖管理工具 IDEA 内置,无需单独安装

安装步骤(以 Windows 为例):

  1. 装 JDK 17

    • 下载 .msi 文件,双击安装,记住安装路径(如 C:\Program Files\Java\jdk-17
    • 验证:打开命令行(Win+R 输入 cmd),输入:
      java -version
      
      看到 17.x.x 就成功了。
  2. 装 IDEA

    • 下载 Community 版(免费!),默认选项安装即可。
    • 首次启动时,IDEA 会自动检测 JDK,选中你刚装的 JDK 17 路径。

⚠️ 常见坑:别装 JDK 8!虽然老项目还在用,但 Spring Boot 3.x 要求 JDK 17+。求职时写“熟悉 Spring Boot 3”比“只会 Spring Boot 2”更有竞争力。


三、核心概念:3个关键词看懂 Spring Boot

新手常被“自动配置”、“起步依赖”这些词吓住。其实它们很简单:

1. 起步依赖(Starter Dependency)

  • 是什么:一堆常用库的打包组合。
  • 例子spring-boot-starter-web = Tomcat(服务器) + Spring MVC(处理请求) + JSON 支持。
  • 好处:你不用一个个找库,一行代码引入全家桶。

2. 自动配置(Auto-configuration)

  • 是什么:根据你引入的依赖,自动配好参数。
  • 例子:你加了 web 起步依赖,Spring Boot 自动启动内嵌 Tomcat,监听 8080 端口。
  • 好处:告别繁琐的 XML 配置文件!

3. 主启动类(Main Application Class)

  • 是什么:带 @SpringBootApplication 注解的类。
  • 作用:告诉 Spring Boot “从这里开始运行”。
  • 关键代码
    @SpringBootApplication
    public class DemoApplication {
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }
    

🌟 记住:Spring Boot 的哲学是 “约定优于配置” —— 默认值够用就别改,真要改再手动覆盖。


四、实战:手把手写一个“用户信息查询”接口

现在,我们用 20 分钟完成一个真实小项目:通过浏览器访问 /user/1,返回用户信息。

步骤 1:创建项目(5分钟)

  1. 打开 IDEA,点击 New Project
  2. 左侧选 Spring Initializr
  3. 填写:
    • Project SDK: 选 JDK 17
    • Language: Java
    • Spring Boot: 选最新版(如 3.2.0)
  4. Next,填写:
    • Group: com.example
    • Artifact: demo
  5. Dependencies 中搜索并勾选:
    • Spring Web(这是 Web 开发的核心)
  6. Finish,等待 IDEA 下载依赖(首次较慢,喝口水)

✅ 项目结构说明:

demo/
├── src/main/java/com/example/demo/
│   └── DemoApplication.java    ← 主启动类
└── pom.xml                     ← 依赖配置文件(Maven 用)

步骤 2:写一个 Controller(10分钟)

  1. com.example.demo 包下右键 → New → Java Class
  2. 名字输入 UserController
  3. 粘贴以下代码:
package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController // 表示这个类里的方法都返回 JSON 数据
public class UserController {

    // 模拟数据库数据
    private static final Map<Integer, String> USER_DB = new HashMap<>();
    static {
        USER_DB.put(1, "张三");
        USER_DB.put(2, "李四");
    }

    // GET 请求:/user/{id}
    @GetMapping("/user/{id}")
    public Map<String, Object> getUser(@PathVariable Integer id) {
        Map<String, Object> result = new HashMap<>();
        if (USER_DB.containsKey(id)) {
            result.put("code", 200);
            result.put("name", USER_DB.get(id));
        } else {
            result.put("code", 404);
            result.put("message", "用户不存在");
        }
        return result;
    }
}

代码解释

  • @RestController:让整个类变成“接口提供者”
  • @GetMapping("/user/{id}"):定义 URL 路径,{id} 是动态参数
  • @PathVariable:把 URL 中的 {id} 取出来赋给变量 id

步骤 3:启动并测试(5分钟)

  1. 找到 DemoApplication.java,点击左边绿色三角 ▶️ 运行
  2. 看到控制台输出:
    Tomcat started on port(s): 8080 (http)
    Started DemoApplication in 2.5 seconds
    
  3. 打开浏览器,访问:
    • http://localhost:8080/user/1 → 返回 {"code":200,"name":"张三"}
    • http://localhost:8080/user/99 → 返回 {"code":404,"message":"用户不存在"}

🎉 恭喜!你刚刚写出了人生第一个 Spring Boot 接口!


五、新手高频问题解答

Q1:为什么我的项目启动报错 “Port 8080 was already in use”?

原因:8080 端口被其他程序占用了(比如另一个 Spring Boot 项目没关)。
解决

  • 方法1:关掉占用端口的程序(Windows 用 netstat -ano | findstr :8080 找 PID)
  • 方法2:改端口!在 src/main/resources/application.properties 添加:
    server.port=8081
    

Q2:代码改了怎么生效?要重启吗?

  • 默认需要重启。但可以开启 热部署(DevTools):
    1. pom.xml<dependencies> 里加:
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-devtools</artifactId>
          <scope>runtime</scope>
          <optional>true</optional>
      </dependency>
      
    2. IDEA 设置:File → Settings → Build → Compiler → 勾选 Build project automatically
    3. 修改代码后按 Ctrl+F9(Build Project),几秒后自动生效!

Q3:如何连接真实数据库?

先别急!零基础阶段建议:

  1. 先用内存数据库 H2 练习(无需安装)
  2. pom.xml 加:
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    
  3. 启动后访问 http://localhost:8080/h2-console 就能操作数据库。

🔒 安全提示:H2 只用于学习!上线项目务必用 MySQL/PostgreSQL。


六、下一步学习建议:构建你的求职竞争力

你现在已经跨过了最难的第一步。但 Spring Boot 只是起点,想拿 offer 还需综合能力:

学习路径推荐(按优先级排序):

阶段 学习内容 时间投入 求职价值
1周 RESTful API 设计规范、Postman 测试 10小时 ★★★★☆
2周 MyBatis-Plus 操作数据库 20小时 ★★★★★
3周 JWT 登录鉴权、Redis 缓存 30小时 ★★★★☆
4周 项目实战:仿知乎问答系统 40小时 ★★★★★

避坑指南:

  • ❌ 不要一上来就啃《Spring 源码深度解析》——那是面试官问你才看的!
  • ✅ 要多写小项目:用户管理、博客系统、短链接生成器……每个都能写进简历
  • 💬 面试话术:别说“我会 Spring Boot”,要说“我用 Spring Boot 实现了 XX 功能,解决了 XX 问题”

结语:你的第一个技术作品,值得骄傲

60分钟前,你可能连 JDK 是什么都不知道;现在,你已经能独立开发 Web 接口了。这就是编程的魅力——从 0 到 1 的突破,永远比从 1 到 100 更珍贵

我在带实习生时总说:“别怕代码丑,先让它跑起来。” 求职不是比谁理论强,而是比谁能快速交付可用的功能。Spring Boot 正是帮你实现这一点的最佳工具。

接下来,试着把今天的项目改成“图书查询系统”,或者加上“新增用户”功能。每多写一行代码,你就离 Offer 更近一步。

最后留个作业:修改 UserController,增加一个 /user/list 接口,返回所有用户。评论区交作业,我会抽3位朋友免费做简历诊断!

记住:你写的每一行代码,都在为未来的高薪铺路。

评论 0

最热最新
暂无评论
◆高思远Lv.1
0
影响力
0
文章
0
粉丝