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

工程师的半亩地
2025-06-19 19:15
阅读 445

开篇:什么是Spring Boot?我们为什么要学习它?

开篇:什么是Spring Boot?我们为什么要学习它?

你可能已经听说过“Java”这个词,它是编程世界中非常重要的一种语言。而Spring Boot,就是建立在 Java 上的一个超级好用的开发框架(Framework)。简单来说,它可以帮助你快速地构建一个稳定的、功能完善的后端应用

传统开发Java Web项目的时候,需要配置大量的依赖项和配置文件,而且写代码的步骤也很多。如果你是一个刚开始学编程的人,光是这些准备工作就可能让你望而却步。
Spring Boot 的最大优势就是:简单!快!自动配置

你可以把它理解为一套“智能工具包”。只要你按照它的结构来编写代码,大部分烦琐的配置都能由框架帮你自动完成。这样一来,你就可以把精力集中在业务逻辑的实现上,而不是纠结于底层的技术细节。

举个例子:如果你想做一个“学生管理系统”,只需要告诉 Spring Boot 你需要什么功能,它就能帮你安排好数据库连接、网络接口、页面显示等一系列工作,你只要专注于写核心功能就行了。

今天这篇教程的目标非常明确:在60分钟内,带你从零到一搭建出一个简单的 Spring Boot 应用,并运行起来展示效果

准备好了吗?让我们从环境搭建开始吧!


环境准备:搭建你的第一个Spring Boot开发环境

环境准备:搭建你的第一个Spring Boot开发环境

为了顺利使用Spring Boot,我们需要先准备好以下几个基础环境:

🧰 工具清单:

  1. Java JDK(版本至少是17)
  2. IDE(推荐 IntelliJ IDEA 社区版 或 Eclipse)
  3. Maven(用来管理项目依赖)
  4. Spring Boot Initializr(在线工具,生成初始项目)

别担心,下面我们会一步步带大家安装和设置这些工具。


第一步:安装 Java JDK

  1. 打开浏览器访问 https://www.oracle.com/java/technologies/downloads/#java17
  2. 根据你的操作系统下载并安装 Java SE Development Kit (JDK) 17
  3. 安装完成后,在命令行输入以下命令查看是否安装成功:
java -version
javac -version

如果能显示出版本号类似:

openjdk version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 25.372-b08, mixed mode, sharing)

那就说明 Java 安装成功了!


第二步:安装开发工具 IDEA

IntelliJ IDEA 是 JetBrains 公司出品的一款强大的 Java 编辑器(IDE),社区版免费,非常适合初学者使用。

  1. 下载地址:https://www.jetbrains.com/idea/download/
  2. 选择 “IntelliJ IDEA Community Edition” 下载安装包。
  3. 按照提示进行安装。

安装完成后启动 IDEA,稍作适应界面即可进入下一环节。


第三步:准备 Maven(可选,但强烈建议)

Maven 是 Java 项目的构建工具,它可以帮助我们自动下载所需的库(叫做“依赖”)。

  • 如果你是通过 IDEA 创建 Spring Boot 项目,Maven 一般会自动生成。
  • 不过为了保险起见,我们可以手动确认一下。

👉 在 IDEA 中可以通过: File → Settings → Build, Execution, Deployment → Build Tools → Maven 来配置 Maven 的路径。

或者也可以直接去官网下载最新版:https://maven.apache.org/download.cgi

检查方式:

mvn -v

如果看到:

Apache Maven 3.8.6 ...
Java version: 17, vendor: Oracle Corporation

说明安装成功。


使用 Spring Boot Initializr 快速创建项目

使用 Spring Boot Initializr 快速创建项目

接下来,我们要做的最重要的事情是:使用 Spring Initializr 生成我们的第一个 Spring Boot 项目模板

这是一个官方提供的在线工具,可以帮我们一键生成基础代码结构和所需的配置。

打开浏览器访问:https://start.spring.io/

按如下参数填写:

  • Project: Maven
  • Language: Java
  • Spring Boot Version: 选择最新的稳定版,比如 3.0.x
  • Group: 例如 com.example
  • Artifact: demo
  • Name: DemoApplication
  • Packaging: Jar
  • Java: 17

点击 “Add Dependencies” ,添加以下两个依赖:

  • Spring Web (用来开发Web服务)
  • Thymeleaf (用于网页渲染,后面做页面时会用到)

然后点击页面底部的 “Generate” 按钮,下载 zip 压缩包。将这个压缩包解压后就是一个完整的 Spring Boot 项目啦!


导入项目到IDEA

导入项目到IDEA

  1. 打开 IntelliJ IDEA,点击 “Open”
  2. 找到刚才解压的项目文件夹,选择里面的 pom.xml 文件(这是 Maven 的配置文件)
  3. IDEA 自动加载 Maven 并下载依赖包,等待几分钟(首次使用时会有点慢,之后就会很快了)

此时你应该能看到一个完整的 Spring Boot 工程结构,包含了一个入口类 DemoApplication.java

✅ 提示:如果看不到任何错误信息,并且项目顺利加载,那你的开发环境就基本搭建完成了!


Spring Boot 核心概念讲解(通俗易懂)

刚接触 Spring Boot 的新手朋友,可能会对一些术语感到陌生。下面我们来用最简单的方式介绍几个重要的概念。


1. Spring Boot Starter 是什么?

每次创建新项目时都会提到各种各样的“Starter”,比如:

  • spring-boot-starter-web
  • spring-boot-starter-data-jpa
  • spring-boot-starter-thymeleaf

它们是什么?其实这就是一组预先打包好的工具箱。比如说你要建一个 Web 服务,你就引入 spring-boot-starter-web,它会把你需要的所有东西都配好。

你可以把它理解成——你想造房子,别人已经帮你准备好了水泥、钢筋、砖块等材料,你只管盖就行了。


2. Controller 是干什么的?

Controller 是控制器的意思。在 Spring Boot 中,负责接收用户的请求,然后根据请求内容返回响应结果。

比如用户访问 /hello 页面,Controller 就会收到这个请求,并决定返回什么样的文字、数据或页面。

我们来看看一个简单的 Controller 示例:

新建一个类叫 HelloController.java,放在 src/main/java/com/example/demo 包下:

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

保存以后运行主类 DemoApplication.java,打开浏览器访问:

http://localhost:8080/hello

你会看到页面显示了一句话:“你好,欢迎来到我的第一个 Spring Boot 应用!”

是不是很神奇?这个控制器做了什么?

  • @RestController 表示这个类是一个控制器,返回的是字符串,不是网页模板;
  • @GetMapping("/hello") 表示当访问 /hello 路径时,调用下面的方法;
  • sayHello() 方法返回一个字符串,作为 HTTP 响应内容;

3. Application 是什么?

每个 Spring Boot 项目都有一个 @SpringBootApplication 注解的类,这个类是整个程序的起点

它有三个作用:

  1. 启动 Spring Boot 应用
  2. 自动扫描包中的组件
  3. 加载所有的配置信息

就像你玩一个游戏,要点击“开始游戏”的按钮一样,这个类就是你的“启动按钮”。

示例代码如下:

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);
    }
}

4. 配置文件 application.properties 是做什么的?

Spring Boot 默认会在 src/main/resources 目录下提供一个 application.properties 文件,你可以在这里更改应用的一些设置。

比如你想修改默认端口 8080 改成 8888,只需要在这个文件中加上一行:

server.port=8888

保存后重新启动应用,再去访问:

http://localhost:8888/hello

你会发现换端口也能正常访问!

这就是 Spring Boot 的一个特点——通过简单的配置文件就可以控制整个应用的行为


实战项目:构建一个简单的留言簿系统

了解了基础之后,现在来实战演练一个小项目 —— 构建一个简单的留言簿系统。

我们要实现的功能包括:

  • 显示所有留言
  • 添加新留言

我们将使用 Thymeleaf 模板引擎来做简单的网页展示。


第一步:创建留言的数据模型

新建一个 Java 类 Message.java

package com.example.demo;

public class Message {
    private Long id;
    private String content;

    // 构造方法
    public Message(Long id, String content) {
        this.id = id;
        this.content = content;
    }

    public Long getId() {
        return id;
    }

    public String getContent() {
        return content;
    }
}

第二步:创建一个存储数据的服务类

新建类 MessageService.java

package com.example.demo;

import org.springframework.stereotype.Service;

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

@Service
public class MessageService {

    private List<Message> messages = new ArrayList<>();

    public List<Message> getAllMessages() {
        return messages;
    }

    public void addMessage(String content) {
        Long nextId = (long)(messages.size() + 1);
        messages.add(new Message(nextId, content));
    }
}

这个服务类模拟了一个留言板的内容存储和新增功能。


第三步:创建对应的控制器

新建控制器类 MessageController.java

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class MessageController {

    private final MessageService messageService;

    public MessageController(MessageService messageService) {
        this.messageService = messageService;
    }

    @GetMapping("/messages")
    public String showMessages(Model model) {
        model.addAttribute("messages", messageService.getAllMessages());
        return "messages"; // 这里的名字要对应HTML模板名
    }

    @PostMapping("/add-message")
    public String addMessage(@RequestParam String content) {
        messageService.addMessage(content);
        return "redirect:/messages";
    }
}

注意这里我们用了 Model 来传递数据给前端模板,用 @RequestParam 来获取表单提交的数据。


第四步:创建 HTML 模板

src/main/resources/templates 目录下创建一个名为 messages.html 的 Thymeleaf 模板文件:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>留言簿</title>
</head>
<body>
    <h1>留言簿</h1>

    <ul th:each="message : ${messages}">
        <li th:text="${message.content}"></li>
    </ul>

    <form action="/add-message" method="post">
        <input type="text" name="content" placeholder="写下你的留言..." required />
        <button type="submit">提交</button>
    </form>
</body>
</html>

这个 HTML 页面会显示当前的所有留言,并提供一个文本框让用户新增留言。


第五步:测试运行

启动主类 DemoApplication,然后访问:

http://localhost:8080/messages

你会看到页面上没有任何留言。这时候你在输入框中输入一段话,比如“这真是一个美好的一天!”点击提交,刷新页面,就会发现留言出现在列表里啦!


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


新手常见问题解答

刚入门 Spring Boot 时,很多人会遇到一些常见的问题。下面是几个典型情况及解决办法:


❓1. 启动报错“Address already in use: bind”

这意味着当前使用的端口已经被其他程序占用了。可以尝试修改 application.properties

server.port=8081

这样换个端口号试试看。


❓2. 报错“Field messageService in required a bean which could not be found”

这个问题通常是因为忘记给 MessageService 添加注解 @Service 导致的。

解决方案:确保 MessageService.java 上有:

@Service

❓3. 页面无法访问(出现 Whitelabel Error Page)

这是因为你没有添加必要的依赖支持 Thymeleaf 或者页面找不到。

解决方案:

  1. 确保你添加了 Spring Boot Thymeleaf Starter
  2. 确保模板文件位于 resources/templates 目录下
  3. 检查 controller 返回的视图名称是否匹配模板文件名

❓4. 控制台中文乱码怎么办?

有时候控制台打印中文会出现乱码。解决方法是在 VM options 中增加 UTF-8 设置:

打开 Run Configurations,添加:

-Dfile.encoding=UTF-8

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

恭喜你已经成功入门 Spring Boot!但这只是一个开始。接下来你可以继续深入学习以下几个方向:


🔹 1. 数据库操作(持久层)

你可以学习如何使用 Spring Data JPA 连接 MySQL、PostgreSQL 等数据库,真正实现数据的永久存储。


🔹 2. REST API 接口设计

学会构建标准的 RESTful API,配合 Postman 测试接口,让前后端分离开发更顺畅。


🔹 3. 安全机制 Spring Security

学习如何加入登录认证、权限控制,保护你的网站安全。


🔹 4. 部署 Spring Boot 到服务器

最后,你可以把自己的项目部署到云服务器(如阿里云、腾讯云)上,让全世界都可以访问!


结语

本篇教程带着你从零开始,在短短60分钟内完成了 Spring Boot 的初步体验。相信你现在对后端开发有了更清晰的认识,并对未来的深入学习充满信心。

记住一句话:编程不是记住语法,而是不断动手实践!多敲代码,多调试,多思考,才是成长最快的方式!

加油,未来的大牛!🚀

评论 0

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