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

技术拾荒者
2025-06-15 17:41
阅读 405

一、开篇:什么是Spring Boot,我们用它来做什么?

一、开篇:什么是Spring Boot,我们用它来做什么?

你有没有遇到过这样的问题:你想写一个Web应用(比如一个博客、论坛或购物网站),但光是搭建项目结构就花了半天时间?不仅要配置服务器、数据库连接,还要处理各种依赖关系……太复杂了!

别担心,Spring Boot 就是用来简化这些操作的工具。

Spring Boot 是什么?

简单来说,Spring Boot 是一个让 Java 开发变得更加简单的框架。它是 Spring 框架的一个“升级版”,主要目标是帮助开发者更快地创建独立的、生产级的应用程序。

你可以把它想象成是一个“自动化的装配车间”。以前你要自己组装每一颗螺丝,现在 Spring Boot 已经帮你把大部分零件都装好了,你只需要关注核心功能的开发。

我们可以用它做什么?

  • 快速搭建 Web 应用(前后端分离、后端接口)
  • 创建 RESTful API 接口
  • 构建微服务架构
  • 连接数据库做增删改查
  • 简化部署流程……

一句话总结:有了 Spring Boot,开发变得更高效,部署更轻松。


二、环境准备:新手也能轻松完成的开发环境搭建

二、环境准备:新手也能轻松完成的开发环境搭建

在开始编写代码之前,我们需要准备好以下开发环境:

✅ 安装JDK(Java Development Kit)

Spring Boot 是用 Java 写的,所以必须安装 JDK。

  1. 访问官网下载: https://www.oracle.com/java/technologies/downloads/
  2. 下载适合你系统的版本(推荐 JDK 17 或 21)。
  3. 安装完成后,在命令行中输入:
    java -version
    
    如果输出类似下面的信息,说明安装成功:
    openjdk version "17.0.5" 2022-10-18
    

✅ 安装IDE(推荐IntelliJ IDEA)

IntelliJ IDEA 是专为 Java 开发设计的强大编辑器,对 Spring Boot 非常友好。

  1. 前往官网下载社区版(免费):https://www.jetbrains.com/idea/download/
  2. 安装完成后,启动 IDE。

✅ 创建第一个Spring Boot项目(使用Spring Initializr)

这是最推荐的方式,它会自动生成基础项目结构。

步骤如下:

  1. 打开浏览器,访问:https://start.spring.io/
  2. 填写信息:
    • Project: Maven
    • Language: Java
    • Spring Boot Version: 最新版(例如 3.1.x)
    • Group: com.example
    • Artifact: demo
  3. 添加依赖:
    • 点击 “Add Dependencies” → 输入并选择:
      • Spring Web (用于构建 Web 应用)
  4. 点击 “Generate” 下载压缩包,解压后打开 IntelliJ 导入即可。

恭喜你!你现在有一个可以运行的 Spring Boot 项目了。


三、核心概念:用最简单的话讲清楚关键知识点

在进入实战之前,让我们先了解几个非常重要的概念。理解这些词会让你学得更快。

🧩 什么是Maven?

Maven 是一个项目管理工具。你可以把它当成一个“自动化采购员”。

  • 当你需要某个功能时,你只需告诉 Maven:“我要这个库。”
  • Maven 自动帮你下载、添加依赖项。
  • pom.xml 文件里可以看到你当前项目的所有依赖。

示例:引入一个JSON库

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.3</version>
</dependency>

🎯 什么是控制器(Controller)?

控制器就像一个“门卫”。所有的 HTTP 请求都要通过它来决定去哪里处理。

示例:

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

当用户访问 /hello,就会调用 sayHello() 方法,并返回“你好,世界!”。

🔁 什么是注解(Annotations)?

注解就是写在类、方法或变量上的“小标签”,用来告诉 Spring 这段代码有什么特殊作用。

常见注解:

注解名 作用
@RestController 表示这是一个 Web 控制器
@GetMapping("/xxx") 处理 GET 请求
@PostMapping("/xxx") 处理 POST 请求
@Autowired 自动注入依赖

🗂 什么是 Spring Boot 的项目结构?

Spring Boot 默认遵循标准的 Maven 结构:

src/
├── main/
│   ├── java/            ← Java源码放这里
│   └── resources/
│       ├── application.properties   ← 配置文件
└── test/                ← 测试代码

💡 什么是 application.properties?

它是 Spring Boot 的“私人日记本”。我们在这里设置项目的运行参数。

示例:修改服务器端口

server.port=8081

这样,你的 Web 应用就不会监听默认的 8080 端口,而是改为 8081。


四、实战项目:从零创建一个“图书管理系统”的API接口

📌 项目简介

我们将实现以下功能:

  • 查询所有图书
  • 根据ID查询某本书
  • 添加新书
  • 修改书籍信息
  • 删除书籍

前端我们不考虑,只做一个后端 API。

第一步:创建 Book 类

新建一个类表示图书信息:

// src/main/java/com/example/demo/model/Book.java
public class Book {
    private Long id;
    private String title;
    private String author;

    // 有参构造方法 + Getter & Setter(略)
}

第二步:创建 Controller

// src/main/java/com/example/demo/controller/BookController.java
import org.springframework.web.bind.annotation.*;

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

@RestController
@RequestMapping("/books")
public class BookController {

    List<Book> books = new ArrayList<>();

    // 获取全部图书
    @GetMapping
    public List<Book> getAllBooks() {
        return books;
    }

    // 根据id获取图书
    @GetMapping("/{id}")
    public Book getBookById(@PathVariable Long id) {
        return books.stream()
                .filter(b -> b.getId().equals(id))
                .findFirst()
                .orElse(null);
    }

    // 添加一本图书
    @PostMapping
    public void addBook(@RequestBody Book book) {
        books.add(book);
    }

    // 修改图书
    @PutMapping("/{id}")
    public void updateBook(@PathVariable Long id, @RequestBody Book updated) {
        books.forEach(book -> {
            if (book.getId().equals(id)) {
                book.setTitle(updated.getTitle());
                book.setAuthor(updated.getAuthor());
            }
        });
    }

    // 删除图书
    @DeleteMapping("/{id}")
    public void deleteBook(@PathVariable Long id) {
        books.removeIf(book -> book.getId().equals(id));
    }
}

第三步:运行项目并测试接口

  1. 启动主类 DemoApplication.java
  2. 使用 Postman 或 curl 测试接口:

🚀 恭喜!你现在拥有一个完整的图书管理接口系统!


五、常见问题解答(FAQ)

数据库设计模型-1

❓Q1:启动时报错“No runnable methods”,怎么办?

可能原因:没有正确标记 main() 方法或者项目没有被识别为 Spring Boot 项目。

✅ 解决方案:

  • 确保主类上有 @SpringBootApplication 注解
  • 检查是否有多个类包含 main 方法
  • 确认 pom.xml 中已添加 spring-boot-starter-web 依赖

❓Q2:访问 /hello 报404错误?

可能原因:路径写错了,或者 controller 没有被扫描到。

✅ 解决方案:

  • 检查 controller 是否加了 @RestController
  • 主类是否在正确的 package 下(子类包要与主类同包或子包)

❓Q3:控制台输出乱码?

✅ 解决方案: 在 application.properties 中加入:

spring.output.ansi.enabled=never

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

现在你已经掌握了 Spring Boot 的基本用法,接下来可以尝试:

🔹 学习数据库连接(JPA/Hibernate)

让你的图书数据不是存在内存里,而是保存进真正的数据库(如 MySQL、PostgreSQL)。

🔹 学习异常处理和统一响应格式

提升接口健壮性。

🔹 学习 JWT 实现登录认证

让你的应用支持用户登录、权限控制等功能。

🔹 学习使用Swagger生成API文档

自动生成接口文档,方便前后端协作。


✅ 总结

在这篇《Spring Boot入门教程》中,你已经学会了:

  • 如何搭建 Spring Boot 开发环境
  • 理解核心概念如 Controller、Maven、注解等
  • 动手完成一个图书管理的API项目
  • 常见问题的解决方法
  • 后续学习的方向

记住一句话:多写代码,少看教程。快去打开你的 IDE,自己写一个属于自己的 Spring Boot 项目吧!

祝你学习愉快!如果文章对你有帮助,也欢迎分享给其他刚起步的学习者 😊

评论 0

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