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

朱超_后端
2025-12-26 00:47
阅读 270

大家好,我是一名开源项目维护者,也带过不少刚入行的 Java 新人。很多同学在面试时被问到“你用过 Spring Boot 吗?”却只能支支吾吾,不是因为不会,而是没机会动手。今天我就写这篇教程——不讲理论堆砌,直接带你写代码。哪怕你从来没碰过 Java Web,只要会装软件、能打字,60 分钟后你就能跑起一个真正的后端服务!


为什么是 Spring Boot?

简单说:Spring Boot 让 Java 写 Web 服务变得超级简单。以前用传统 Spring 框架,光配置文件就能写到崩溃;现在 Spring Boot 自动帮你配好一切,你只需专注业务逻辑。

我当初学的时候,光是配个数据库连接就折腾了两天。现在?一行注解搞定。

而且,几乎所有 Java 后端岗位都要求会 Spring Boot——它几乎是国内 Java 开发的事实标准。掌握它,面试题里至少能拿下 30% 的基础分。


第一步:搭建开发环境(5 分钟)

你需要准备以下三样东西:

工具 版本建议 作用
JDK 17 或 21(推荐) Java 运行环境
IDE IntelliJ IDEA(社区版免费)或 VS Code + Java 插件 写代码的编辑器
Maven 3.8+(IDEA 通常自带) 项目依赖管理工具

💡 新手提示:别纠结版本!JDK 17 是目前最稳定的 LTS(长期支持)版本,企业广泛使用。

安装步骤简述

  1. Oracle 官网OpenJDK 下载 JDK 17
  2. 安装后,在终端执行 java -version 看是否成功
  3. 下载 IntelliJ IDEA Community(免费),安装即可

第二步:创建你的第一个 Spring Boot 项目(10 分钟)

打开 IDEA,点击 New Project → 选择 Spring Initializr

填写信息如下:

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

点击下一步,等待项目生成。

📌 关键点:Dependencies 里只选 “Spring Web”,其他先别加!越简单越不容易出错。

项目结构长这样:

demo/
├── src/
│   └── main/
│       ├── java/com/example/demo/
│       │   └── DemoApplication.java  ← 主启动类
│       └── resources/
│           └── application.properties ← 配置文件
└── pom.xml  ← 依赖管理文件

第三步:理解三个核心概念(通俗版)

1. @SpringBootApplication 是什么?

这是整个应用的“总开关”。你看到 DemoApplication.java 里有这行注解,它告诉 Spring:“从这里开始,自动配置一切”。

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

2. Controller:处理用户请求

你想让别人访问 http://localhost:8080/hello 看到“Hello, Spring Boot!”,就得写一个 Controller。

新建一个文件 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:表示这个类专门返回数据(不是网页)
  • @GetMapping("/hello"):当用户用 GET 方法访问 /hello 时,执行下面的方法

3. 自动配置:为什么不用写 web.xml?

传统 Java Web 需要配置 Tomcat、servlet、过滤器……Spring Boot 内嵌了 Tomcat,启动即运行,你完全不用管底层。


第四步:运行并测试(5 分钟)

点击 IDEA 左侧绿色三角形 ▶️ 运行 DemoApplication

看到控制台输出:

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

说明服务已启动!

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

你会看到页面显示:
Hello, Spring Boot!

恭喜!你已经写出了人生第一个 Spring Boot 接口。


第五步:加点实用功能(20 分钟实战)

现在我们做一个更真实的例子:返回 JSON 数据的用户接口

场景:查询用户信息

  1. 先建一个 User 类(代表数据模型):
package com.example.demo;

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

    // 必须有无参构造函数(Jackson 序列化需要)
    public User() {}

    public User(Long id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    // Getter 和 Setter(IDEA 可右键 Generate 自动生成)
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public String getEmail() { return email; }
    public void setEmail(String email) { this.email = email; }
}
  1. 修改 Controller,返回 User 对象:
@GetMapping("/user")
public User getUser() {
    return new User(1L, "张三", "zhangsan@example.com");
}
  1. 重启应用,访问 http://localhost:8080/user

你会看到:

{
  "id": 1,
  "name": "张三",
  "email": "zhangsan@example.com"
}

Spring Boot 自动把 Java 对象转成了 JSON!


新手常见问题 & 面试题链接

❓ 为什么我的项目启动报错?

  • 检查 JDK 是否安装正确(java -version
  • 确保端口 8080 没被占用(可改端口:在 application.propertiesserver.port=9090
  • 依赖是否下载完整?看 IDEA 底部有没有红色错误提示

❓ 面试常问:Spring Boot 和 Spring 有什么区别?

对比项 Spring Spring Boot
配置方式 XML / Java Config 手动配 自动配置(AutoConfiguration)
内嵌服务器 无,需部署到 Tomcat 内置 Tomcat/Jetty
启动速度
适用场景 大型定制化系统 快速开发微服务

记住一句话:Spring Boot 是 Spring 的“脚手架”,让你专注业务,而不是基建。

❓ 为什么方法上加 @GetMapping 就能响应请求?

这就是 注解驱动开发。Spring 在启动时扫描所有带 @RestController 的类,发现 @GetMapping 就自动注册路由。你不需要写 if-else 判断 URL!


学习建议:下一步怎么走?

  1. 动手扩展这个项目

    • 加一个 POST 接口,接收用户注册信息(用 @PostMapping
    • 试试用 @RequestParam 接收 URL 参数,比如 /user?id=1
  2. 理解核心注解
    背下这 5 个注解,面试够用:

    • @SpringBootApplication
    • @RestController
    • @GetMapping / @PostMapping
    • @Autowired(后面学依赖注入时用)
    • @Service / @Component
  3. 不要一上来就学数据库
    很多人卡在 MyBatis 配置上。建议先熟练 HTTP 接口、JSON 返回、参数接收,再引入 MySQL。

  4. 善用官方文档
    Spring Boot 官网文档清晰又简洁:https://spring.io/projects/spring-boot


最后的话

我写这篇教程,是因为太多初学者被“框架”两个字吓住。其实 Spring Boot 的设计哲学就是:约定优于配置。你按它的套路走,它就帮你省掉 90% 的麻烦。

60 分钟过去,你已经不再是“零基础”了。接下来,去尝试修改代码、制造错误、再修复它——这才是最快的成长路径。

记住:每一个高级工程师,都曾为一个 404 错误抓耳挠腮。你现在的每一步,都在靠近那个更好的自己。

加油!有问题欢迎在开源社区提问(比如 GitHub Discussions),我们一起解决。

评论 0

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