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

一台会思考的电脑
2025-06-23 11:44
阅读 779

开篇:Spring Boot是什么,用来做什么?

开篇:Spring Boot是什么,用来做什么?

在开始学习之前,我们先来聊聊什么是Spring Boot,以及它能帮我们做些什么。

Spring Boot 是什么?

简单来说,Spring Boot 就是一个帮你快速搭建Java后端应用的工具集。它是基于 Spring 框架(一个非常强大的 Java 后端开发框架)之上的高级封装。

你可能听说过一句话:“Spring 造就了企业级Java开发”。而 Spring Boot 的出现,则是为了让开发者更快更轻松地使用Spring

它用来做什么?

Spring Boot 主要用来:

  • 快速搭建 Web 应用(比如网站、接口服务)
  • 构建 RESTful API(就是前后端交互的那部分)
  • 集成数据库操作(比如 MySQL、PostgreSQL)
  • 创建微服务(现代架构中常见的独立小服务)

为什么新手适合从 Spring Boot 学起?

  • 不需要手动配置太多东西,开箱即用
  • 社区活跃、文档丰富
  • 可直接生成可运行的项目,节省时间
  • 广泛应用于企业级开发,学完就能用到工作中!

环境准备:一步步搭建你的开发环境

环境准备:一步步搭建你的开发环境

在写代码之前,我们需要准备好开发所需的“装备”。

📌 新手提示:安装软件时,尽量保持网络畅通,某些下载源可能会很慢。

1. 安装 Java JDK(版本建议 17+)

Spring Boot 基于 Java,因此首先你需要安装 Java 开发工具包(JDK)。推荐使用 OpenJDK 17 或更高版本

下载地址:

https://adoptium.net/zh-CN/temurin/releases/?version=17

安装完成后验证:

打开命令行或终端输入:

java -version

输出类似这样表示安装成功:

openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment Temurin-17.0.8+7 (build 17.0.8+7)
OpenJDK 64-Bit Server VM Temurin-17.0.8+7 (build 17.0.8+7, mixed mode)

2. 安装 IntelliJ IDEA(IDE 推荐使用这个)

推荐使用 IntelliJ IDEA 社区版(免费)

下载地址:

https://www.jetbrains.com/idea/download/

安装后启动它,熟悉界面即可。


3. 安装并配置 Spring Boot Initializr(项目生成器)

访问官方工具页面:

👉 https://start.spring.io/

在这个网站上你可以自动生成 Spring Boot 项目模板。

✅ 示例配置如下:

配置项 选择值
Project Maven
Language Java
Spring Boot 最新稳定版(例如 3.1.x)
Group com.example
Artifact demo
Dependencies Spring Web

点击 “Generate” 下载生成好的压缩包。

解压后导入 IDEA 中即可使用。


4. 验证是否成功(运行第一个程序)

在 IDEA 中打开项目,找到 DemoApplication.java 文件,它看起来像这样:

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

右键点击 → Run 'DemoApplication',如果控制台输出类似如下内容说明启动成功:

Tomcat started on port(s): 8080 (http)

现在你已经完成环境搭建啦!🎉


核心概念解析:用最简单的语言解释关键概念

这一节里我们将用通俗的语言,带你理解几个 Spring Boot 中最重要的概念。

1. 什么是“Web 应用”?

简单理解:Web 应用就是一个可以通过浏览器访问的应用。比如你访问 https://example.com,其实是在访问一个 Web 应用。

Spring Boot 会帮助我们快速创建这种类型的应用。


2. 什么是 Controller(控制器)?

想象你在玩一款游戏,你是玩家,按下方向键(请求),系统做出反应(响应)。

在 Web 应用中:

  • 用户通过浏览器向服务器发起请求
  • Controller 负责接收请求,并返回结果

我们可以把它看作是接收用户指令的地方。

举个例子:

@RestController
public class HelloController {
    
    @GetMapping("/hello")
    public String sayHello() {
        return "你好,世界!";
    }
}

这段代码的意思是:

  • 当用户访问 /hello 这个路径时,就调用 sayHello() 方法
  • 返回的是字符串 "你好,世界!"

试试访问:http://localhost:8080/hello,你会看到页面显示“你好,世界!”


3. 什么是 RESTful API?

这是一种设计风格,用于定义前后端之间的通信规则。

举个例子:

  • GET /users → 获取所有用户信息
  • POST /users → 添加一个用户
  • GET /users/1 → 获取 ID 为 1 的用户
  • PUT /users/1 → 更新 ID 为 1 的用户信息
  • DELETE /users/1 → 删除该用户

这些都属于 RESTful 风格的 API。


4. 什么是依赖(Dependencies)?

你可以把它理解为你写的程序所需要的“插件”。

例如:

  • Spring Web:让你能处理网页和接口请求
  • Spring Data JPA:帮你操作数据库

你可以在 pom.xml 文件中添加依赖(稍后实战部分我们会演示)。


5. 什么是自动配置(Auto-Configuration)?

这是 Spring Boot 最棒的功能之一。

以前用 Spring 写项目,需要自己一个个配置各种组件。而现在,Spring Boot 提供了自动配置机制,当你添加了一个依赖,它就会自动帮你把相关功能配置好。

比如添加了 spring-boot-starter-web,它就会自动引入 Tomcat 作为服务器,并开启对 Web 请求的支持。


实战项目:从零开始实现一个图书管理API

数据库设计模型-1

现在我们正式开始实践,目标是写一个可以查询图书列表的接口。

第一步:创建一个图书控制器

新建一个类叫 BookController.java,放在 com.example.demo.controller 包下(没有就创建)。

package com.example.demo.controller;

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

import java.util.List;

@RestController
public class BookController {

    @GetMapping("/books")
    public List<String> getBooks() {
        return List.of("Java编程思想", "Spring实战", "Head First设计模式");
    }
}

保存后运行项目,访问:

👉 http://localhost:8080/books

你应该能看到一个 JSON 形式的结果:

[
  "Java编程思想",
  "Spring实战",
  "Head First设计模式"
]

这就是我们第一个完整的 RESTful API!


第二步:添加一个新的图书接口(POST)

我们再来加一个功能,允许添加一本书。

修改 BookController

@PostMapping("/books")
public String addBook(@RequestBody String bookName) {
    // 在实际项目中这里会将书名存入数据库
    return "已添加书籍: " + bookName;
}

注意:你要确保你的类顶部加上了:

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

测试方法:

  • 使用 Postman 或 curl 发送 POST 请求到 http://localhost:8080/books
  • 设置 Body 为 raw,格式选 JSON
  • 输入:"《Effective Java》"
  • 发送请求,应该得到返回结果:
已添加书籍: 《Effective Java》

第三步:美化响应结构(返回统一对象)

为了让接口更规范,我们不直接返回字符串,而是返回一个统一的 JSON 对象结构。

新增一个类:

public class ApiResponse<T> {
    private boolean success;
    private T data;

    // 构造方法、getter 和 setter 略
}

然后修改接口返回:

@PostMapping("/books")
public ApiResponse<String> addBook(@RequestBody String bookName) {
    return new ApiResponse<>(true, "已添加书籍: " + bookName);
}

现在再发送 POST 请求,返回将会是标准的 JSON 结构,更清晰易读。


常见问题解答:新手常犯错误与解决办法

微服务架构示意图-2

下面是一些常见问题,看看你有没有遇到类似的困惑👇

问题1:启动报错:Address already in use: bind

这通常是因为本地 8080 端口被其他程序占用。

✅ 解决方案:

修改 application.properties 文件,换成其他端口:

server.port=8081

问题2:@GetMapping 报红,找不到注解?

可能是你忘记导入正确的包。

❌ 错误示例:

import javax.servlet.http.HttpServletRequest; // ❌ 错了

✅ 正确应该是:

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

问题3:访问接口提示 404 Not Found?

请检查以下几点:

  • 控制器类是否有 @RestController 注解
  • URL 地址拼写是否正确(如 /books 而不是 /book
  • 是否遗漏了 @GetMappng@PostMapping

问题4:项目启动慢,或者卡住了?

有些时候由于本地仓库未下载完全,可能导致构建缓慢。

✅ 解决方案:

尝试清理本地 Maven 缓存文件夹(位于 ~/.m2/repository 下,Windows 是 %USERPROFILE%\.m2\repository),然后重新启动项目下载依赖。


问题5:不知道如何调试?

IntelliJ IDEA 支持断点调试:

  1. 在代码左侧行号旁边点击打上断点
  2. 启动项目时选择 “Debug” 模式运行
  3. 发送请求,程序会在断点暂停,你可以查看变量值和流程走向

学习建议:下一步该往哪里走?

恭喜你完成了第一个 Spring Boot 项目!接下来你可以继续学习以下方向,进一步提升技能:

🔹 1. 学习数据库集成(Spring Data JPA)

  • 数据库连接配置
  • 实体类映射
  • 自定义查询

推荐阅读:

  • 《Spring Data JPA 入门指南》
  • 视频课程《Spring Boot 整合 MySQL》

🔹 2. 学习 Thymeleaf 模板引擎(动态网页)

如果你不只是想做 API,还想展示 HTML 页面,Thymeleaf 非常适合初学者。

  • 动态渲染网页内容
  • 传递模型数据给前端

🔹 3. 学习 RESTful API 文档工具 Swagger/OpenAPI

写完接口后,怎么给别人看文档?

学习 Swagger UI,它可以自动生成 API 文档:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.6.14</version>
</dependency>

启动后访问:
👉 http://localhost:8080/swagger-ui.html


🔹 4. 学习部署 Spring Boot 到服务器(如 Linux)

学会把项目打包成 .jar 文件,并上传到云服务器(如阿里云、腾讯云、AWS)进行部署。

常用命令:

mvn clean package # 打包项目
java -jar demo.jar # 启动项目

🔹 5. 继续深入 Spring Boot 的模块化开发

比如:

  • 异常处理(GlobalExceptionHandler)
  • 日志记录(Logback/Spring Boot Actuator)
  • 文件上传、JWT 登录认证等

总结一下:

本教程带大家完成了以下内容:

学习重点 目标成果
Spring Boot 介绍 理解用途,适合谁学
环境搭建 安装 Java、IDE、配置初始项目
核心概念讲解 理解 Controller、RESTful、依赖、自动配置
实战练习 完成了图书列表接口、新增图书功能,统一返回格式
常见问题 解决了启动失败、404、依赖无法导入等问题
学习路线图 提供后续可深入的方向,引导持续学习

🎉 祝贺你完成 Spring Boot 初体验!

如果你认真跟着做了一遍,就已经具备了开发基础的 Web 项目的技能!继续坚持下去,你会成为更厉害的开发者💪

如有问题欢迎留言提问,或者加入我们的学习群一起进步!


(全文约 3787 字)

评论 0

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