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

青山不改需求改
2025-06-21 14:49
阅读 590

一、开篇:Spring Boot 是什么?我们为什么需要它?

在学习 Spring Boot 之前,我们先来了解一个更基础的概念:Java 后端开发

后端开发指的是处理网站、App 或系统“后台”逻辑的程序。比如用户登录时,后端会验证用户名和密码;下单购物时,后端负责检查库存是否足够并生成订单。

Spring Boot 就是一个帮助我们简化后端开发流程的强大工具。它是基于 Java 的开源框架,由 Spring 团队开发,并集成了许多常见的功能(比如数据库访问、REST 接口支持等),大大减少了配置工作,让我们可以更快地写出高质量的代码。

想象一下,如果你要装修房子,自己从头买砖块、水泥、电线……太麻烦了。而 Spring Boot 就像一个“精装房”,已经帮你铺好了地板、装好了水电,你只需要根据自己的需求进行个性化装修就可以了。

学习目标

本教程将带你用 60 分钟左右掌握以下内容:

  • 搭建 Spring Boot 开发环境
  • 创建一个最简单的 Web 应用
  • 理解 Spring Boot 中的核心概念(如自动配置、Starter)
  • 实战编写一个 API 接口
  • 解决常见入门问题

准备好了吗?让我们开始吧!


二、环境准备:安装与配置开发环境

在正式写代码前,我们需要准备好开发环境。

注意:本教程适用于 Windows、Mac 和 Linux 用户。部分命令路径略有不同,请自行替换对应路径。

2.1 安装 JDK(Java Development Kit)

Spring Boot 是基于 Java 的,所以我们首先需要安装 Java 环境。

你可以下载最新的 JDK 8/11/17 版本(推荐使用 OpenJDK):

安装完成后,在终端或命令行中运行:

java -version

如果输出类似下面的内容,说明安装成功:

openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment Temurin-17.0.9+9 (build 17.0.9+9)
OpenJDK 64-Bit Server VM Temurin-17.0.9+9 (build 17.0.9+9, mixed mode, sharing)

2.2 安装 IDE(集成开发环境)

IDE 是我们写代码的“编辑器”。建议新手使用 IntelliJ IDEA(简称 IDEA)社区版,免费好用。

安装完成后启动 IDEA,选择 Create New Project,然后选择 Spring Initializr

IntelliJ 新建 Spring Boot 项目界面

2.3 使用 Spring Initializr 在线创建项目

如果你还没有安装 IDEA,或者想体验更简洁的方式,也可以去官网直接生成项目骨架:

在页面上填写如下信息:

  • Project: Maven
  • Language: Java
  • Spring Boot Version: 最新稳定版(如 3.1.x)
  • Group: com.example
  • Artifact: demo
  • Name: demo
  • Packaging: Jar
  • Java Version: 17 或 11

然后点击 Add Dependencies,添加以下依赖项:

  • Spring Web(用于构建 Web 应用)
  • Thymeleaf(可选,做网页模板用)

最后点击 Generate,即可下载压缩包。解压后可以用 IDEA 打开。

✅ 到此为止,你的开发环境就准备好了!


三、核心概念讲解(通俗易懂)

Spring Boot 虽然强大,但它内部其实包含了很多概念。别怕,我们一个个来看。

3.1 自动配置(Auto Configuration)

Spring Boot 最大的特点是:自动配置。也就是你告诉它你要干什么,它自动帮你设置好相关的参数和对象。

例如,你想做一个网页应用,只需要加上 spring-boot-starter-web 这个依赖,它就会自动配置好 Tomcat、HTTP 请求处理等所有相关组件。

你不需要手动配置服务器,也不需要写 XML 配置文件,一切都在幕后完成。

3.2 Starter 包

“Starter” 是 Spring Boot 提供的一类特殊依赖包,它们封装了某个功能所需的全部库和默认配置。

比如:

  • spring-boot-starter-web → 构建 Web 应用
  • spring-boot-starter-data-jpa → 数据库操作
  • spring-boot-starter-thymeleaf → 做网页模板用

这些 Starter 包非常实用,你只需要加入 Maven 的依赖,就可以直接使用该功能。

3.3 主应用程序类(@SpringBootApplication)

每个 Spring Boot 项目都有一个主类,通常叫 DemoApplication.java

这个类的作用就是启动整个项目,里面有一个 main() 方法,执行它就能把项目跑起来。

代码示例:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

其中,@SpringBootApplication 是一个组合注解,它包含:

  • @SpringBootConfiguration
  • @EnableAutoConfiguration
  • @ComponentScan

这表示当前这个类是项目的启动入口点,Spring Boot 会扫描它所在包下的所有组件并自动注册。

3.4 控制器(Controller)与 REST API

控制器是用来处理 HTTP 请求的类,相当于网站中的一个页面或者接口。

例如:当用户访问 /hello 地址时,我们希望返回“Hello World”。

我们可以创建一个类叫做 HelloController.java

package com.example.demo.controller;

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 World!";
    }
}

解释:

  • @RestController 表示这是一个返回数据(不是 HTML 页面)的控制器。
  • @GetMapping("/hello") 表示这是一个响应 GET 请求的路由,路径为 /hello

运行这个类的 main() 方法之后,打开浏览器输入:http://localhost:8080/hello,你就能看到返回结果啦!


四、实战项目:构建一个简易博客管理系统

现在我们来动手做一个小项目,目标是:

  • 创建一个名为 “简易博客”的 Spring Boot 应用
  • 能够通过访问 /posts 显示一条“文章列表”
  • 能够通过 /post/1 查看第一篇文章

4.1 创建项目结构

我们将创建两个主要组件:

  • Controller(控制器)
  • Model(模型)

4.1.1 创建 Post 类(模型)

src/main/java/com/example/demo/model/Post.java 添加以下内容:

package com.example.demo.model;

public class Post {
    private Integer id;
    private String title;
    private String content;

    // 构造方法
    public Post(Integer id, String title, String content) {
        this.id = id;
        this.title = title;
        this.content = content;
    }

    // Getter & Setter
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}

4.1.2 创建 PostController 控制器

com.example.demo.controller.PostController.java 添加:

package com.example.demo.controller;

import com.example.demo.model.Post;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
public class PostController {

    // 模拟数据库数据
    private List<Post> posts = new ArrayList<>();

    public PostController() {
        // 初始化数据
        posts.add(new Post(1, "标题1", "这是第一篇文章的内容"));
        posts.add(new Post(2, "标题2", "这是第二篇文章的内容"));
    }

    @GetMapping("/posts")
    public List<Post> getAllPosts() {
        return posts;
    }

    @GetMapping("/post/{id}")
    public Post getPostById(@PathVariable Integer id) {
        return posts.stream()
                .filter(post -> post.getId().equals(id))
                .findFirst()
                .orElse(null);
    }
}

4.2 启动项目并测试接口

点击 DemoApplication.java 中的 main() 方法运行项目。

等待几秒钟后,控制台会显示类似如下信息:

Tomcat started on port(s): 8080 (http) with context path ''

表示服务已经启动。

现在尝试访问:

  • 查看所有文章:http://localhost:8080/posts
  • 查看 ID=1 的文章:http://localhost:8080/post/1

你会看到返回的 JSON 数据。

✅ 很棒!你刚刚完成了一个完整的 Spring Boot 示例项目!


五、常见问题解答(FAQ)

Q1:启动时报错 Address already in use: bind 怎么办?

这是因为 8080 端口被其他程序占用了。解决方法:

  • 修改端口:打开 application.properties 文件,添加:
server.port=8081

改为你想要的端口号。

Q2:找不到 PostController 或者没有返回数据?

请确认:

  • @RestController 注解是否存在?
  • 包名是否正确?是否属于 Spring Boot 启动类所在的包或其子包?

Spring Boot 默认只扫描主类所在包及其子包中的组件。

Q3:Maven 报错 Could not resolve dependencies

可能网络问题导致下载失败,尝试重试。也可以换源镜像:

settings.xml 中加入阿里云仓库:

<mirror>
    <id>aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Aliyun Maven</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

Q4:怎么查看日志?

控制台输出的日志默认在 IDEA 右下角控制台窗口里可以看到。也可以配置日志级别、文件输出等内容,后续再深入讲解。


六、学习建议:下一步学什么?

恭喜你完成了第一个 Spring Boot 项目!

接下来你可以尝试进一步学习以下内容:

6.1 Spring Boot 常见模块进阶

模块名称 功能
spring-boot-starter-data-jpa 与数据库交互(ORM)
spring-boot-starter-security 加入用户权限认证机制
spring-boot-starter-test 单元测试支持
spring-boot-starter-validation 参数校验功能
spring-boot-starter-mail 发送电子邮件

6.2 数据库连接实战

下一步可以学习如何将我们的“博客”数据保存到真实数据库中(如 MySQL)。使用 JPA + Spring Data 来实现持久化存储。

6.3 前后端分离开发

如果你也想搭建前端页面,可以把后端接口暴露出来,让 Vue、React、小程序等调用你写的 API。


结语:Keep Coding!

Spring Boot 虽然是一个强大的工具,但它的本质依然是 Java 编程。

不要急于求成,建议结合实际项目不断练习,逐步深入理解 Spring 框架生态。记住一句话:“编程最重要的是动手实践”。

祝你在 Java 与 Spring Boot 的世界越走越远!🚀


📌 资源推荐

如有疑问欢迎留言提问,我会尽量回答!

评论 0

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