Spring Boot 入门:60 分钟从零写出你的第一个后端服务

代码收藏夹
2026-01-15 15:01
阅读 673

大家好,我是一个干了五年后端开发的“老油条”,平时也带过不少新人。最近有朋友问我:“现在想转行做后端,该从哪开始?” 我毫不犹豫地回答:Spring Boot

为什么?因为它是目前 Java 后端生态里最主流、最友好的框架之一,企业用得多,面试常考,社区活跃,文档齐全。更重要的是——它真的能让你在 60 分钟内跑起一个能用的 Web 服务!

我当初学的时候,光是配个 XML 就折腾了三天。现在有了 Spring Boot,一切都被简化了。今天这篇教程,就是为完全零基础的同学准备的,哪怕你还没写过一行 Java 代码,也能跟着一步步走完。


为什么选 Spring Boot?和 Go 有什么关系?

先说清楚:Spring Boot 是 Java 生态的框架,Go 是另一门语言。但很多初学者会问:“现在不是 Go 很火吗?要不要直接学 Go?”

这是个好问题。Go 确实在云原生、高并发场景下表现优异,语法简洁,编译快,部署简单。但如果你的目标是快速求职、进入大厂或传统企业,Java + Spring Boot 的岗位数量依然远超 Go。根据主流招聘平台数据,Java 后端岗位常年稳居前三,而 Spring Boot 几乎成了标配。

所以我的建议是:

  • 如果你目标是快速就业,优先学 Spring Boot。
  • 如果你对云原生、微服务底层感兴趣,或者想进新兴互联网公司,可以后续再学 Go。

开发心得:技术没有绝对好坏,只有“适不适合当前阶段”。别一上来就追求“最潮”,先解决“能干活”的问题。


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

要写 Spring Boot 程序,你需要以下三样东西:

工具 作用 安装建议
JDK 17(或 11) Java 运行环境 推荐 Adoptium 下载 LTS 版本
IntelliJ IDEA Community 代码编辑器 免费,对 Spring 支持极好
Maven 或 Gradle 项目依赖管理工具 IDEA 会自动帮你配,新手用 Maven 更常见

安装步骤(以 Windows / macOS 为例):

  1. 安装 JDK 17

    • 下载 OpenJDK 17(如 Eclipse Temurin)
    • 安装后打开终端,输入 java -version,看到类似:
      openjdk version "17.0.8" 2023-07-18
      
  2. 安装 IDEA

  3. 验证环境

    • 打开 IDEA,新建一个空项目,如果没报错,说明环境 OK

💡 新手常见问题
“为什么不用 JDK 8?”
虽然 JDK 8 很经典,但 Spring Boot 3.x 要求 JDK 17+,新项目建议直接上新版本。


第二步:理解核心概念(5 分钟)

Spring Boot 本质是“帮你自动配置 Spring 框架的工具”。那 Spring 是什么?

简单说:Spring 是一个让 Java 写后端更容易的“工具箱”,而 Spring Boot 是这个工具箱的“一键启动包”。

三个关键概念你必须知道:

  1. Controller(控制器)
    负责接收 HTTP 请求,比如用户访问 /hello,由 Controller 处理。

  2. 依赖注入(DI)
    不用手动 new 对象,Spring 自动帮你创建并传递,减少耦合。

  3. 自动配置(Auto-configuration)
    比如你加了数据库依赖,Spring Boot 自动帮你连上,不用写几十行配置。

我当初学的时候,最头疼的就是“配置地狱”。Spring Boot 最大的价值,就是把 90% 的配置都默认做好了。


第三步:动手写第一个程序(20 分钟)

我们来做一个最简单的接口:访问 http://localhost:8080/hello,返回 "你好,Spring Boot!"

步骤 1:创建项目

打开 IDEA → New Project → 选择 Spring Initializr

  • Project SDK: 选你装的 JDK 17
  • Language: Java
  • Type: Maven
  • Group: com.example
  • Artifact: demo
  • Dependencies: 勾选 Spring Web

点击 Next,Finish,等待项目生成(可能需要联网下载依赖)。

步骤 2:编写代码

src/main/java/com/example/demo 目录下,你会看到一个 DemoApplication.java,这是主启动类。

新建一个文件 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 "你好,Spring Boot!";
    }
}

代码解释:

  • @RestController:告诉 Spring 这是个 Web 控制器,所有方法返回 JSON 或字符串
  • @GetMapping("/hello"):当用户用 GET 方法访问 /hello 时,调用这个方法
  • 方法直接返回字符串,Spring 会自动转成 HTTP 响应体

步骤 3:运行程序

右键点击 DemoApplication.java → Run 'DemoApplication'

看到控制台输出:

Tomcat started on port(s): 8080
Started DemoApplication in 2.1 seconds

说明服务启动成功!

步骤 4:测试接口

打开浏览器,访问:http://localhost:8080/hello

你应该看到页面显示:

你好,Spring Boot!

✅ 恭喜!你已经完成了第一个 Spring Boot 应用!


第四步:扩展功能(15 分钟)

光返回字符串太简单?我们加点“真东西”——返回一个 JSON 对象。

场景:返回用户信息

新建一个 User 类:

package com.example.demo;

public class User {
    private String name;
    private int age;

    // 构造函数
    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter 方法(必须有,否则 JSON 无法序列化)
    public String getName() { return name; }
    public int getAge() { return age; }
}

修改 HelloController

@GetMapping("/user")
public User getUser() {
    return new User("张三", 25);
}

重启应用,访问 http://localhost:8080/user,你会看到:

{
  "name": "张三",
  "age": 25
}

💡 开发心得
Spring Boot 默认集成 Jackson,只要对象有 Getter,就能自动转成 JSON。不需要手动写序列化代码!


常见问题 & 避坑指南

❌ 问题 1:端口被占用,启动失败

错误信息:Web server failed to start. Port 8080 was already in use.

解决方法

  • 方法一:关闭占用 8080 的程序(比如另一个 Spring Boot 服务)
  • 方法二:改端口。在 src/main/resources/application.properties 中加一行:
    server.port=8081
    

❌ 问题 2:中文乱码

返回的中文变成 ???

解决方法:在 application.properties 中添加:

server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true

❌ 问题 3:找不到类或包

确保你的新类(如 UserHelloController)和主启动类 DemoApplication同一个包或子包下。Spring Boot 默认只扫描主类所在包及其子包。


接下来学什么?给求职者的建议

你已经迈出了第一步!但 Spring Boot 的世界远不止于此。以下是推荐的学习路径:

📚 学习路线图(按优先级)

阶段 内容 为什么重要
初级 REST API、参数接收、异常处理 日常开发 80% 的工作
中级 连接数据库(MyBatis / JPA)、事务管理 几乎所有项目都要用
高级 安全(Spring Security)、缓存(Redis)、消息队列 面试高频考点
进阶 微服务(Spring Cloud)、Docker 部署 大厂必备技能

🎯 求职建议

  1. 不要只学 Spring Boot,要理解背后的 HTTP、REST、JSON 等基础概念。
  2. 动手做项目:哪怕是一个“待办事项”小应用,也比刷十道题有用。
  3. 对比学习 Go:当你熟悉 Spring Boot 后,可以尝试用 Go 写同样功能,体会不同语言的设计哲学。

我带过的新人里,最快拿到 offer 的,不是背面试题最多的,而是能独立跑通一个完整流程的人


结语:60 分钟只是开始

今天这 60 分钟,你完成了:

  • 搭建开发环境
  • 理解核心概念
  • 编写并运行第一个 Web 服务
  • 返回 JSON 数据
  • 解决常见问题

但这只是 Spring Boot 的冰山一角。真正的后端开发,还包括数据库交互、用户认证、日志监控、性能优化等。

但别怕!每一个大神,都曾卡在 Hello World。你现在已经跨过了最难的第一步。

接下来,去 GitHub 上找一个开源的 Spring Boot 项目,试着跑起来,改一改,看看效果。实践,才是最好的老师。

祝你编码顺利,早日拿下心仪的 offer!

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝