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

AI探索者
2025-06-14 21:14
阅读 289

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

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

在开始学习编程或者后端开发时,你可能会听到很多“高大上”的技术名词,比如Java EESpring Framework微服务架构等等。而今天我们讲的主角——Spring Boot,正是简化这些复杂概念的强大工具。

简单来说,Spring Boot 是一个基于 Java 的快速开发框架,它的核心目标是让我们更容易地创建独立运行的、生产级别的应用程序。无论你是想做一个博客系统、商城后台,还是企业级 API 接口,Spring Boot 都能帮助你快速搭建项目结构、配置服务器,并专注于实现业务逻辑,而不必陷入繁琐的配置中。

你可以把 Spring Boot 想象成“乐高积木”中的高级套装——它已经帮你准备好了大部分常用的组件(比如数据库连接、Web服务器等),你只需要按照自己的需求“搭”起来即可。


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

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

在开始写代码之前,我们先准备好开发所需的环境。下面我们会一步步教你在 Windows 或 Mac 上安装必要的软件工具。

1. 安装JDK(Java Development Kit)

Spring Boot 是基于 Java 的框架,所以首先要安装 JDK(Java开发工具包)。推荐使用 OpenJDK 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. 安装IDE:推荐使用IntelliJ IDEA或VS Code + Java插件

IntelliJ IDEA(强烈推荐新手使用)

VS Code(轻量级,适合已有编辑器习惯的同学)


3. 安装Maven(构建工具)

大多数Spring Boot项目都使用 Maven 来管理依赖和打包程序。

  • 下载地址:https://maven.apache.org/download.cgi
  • 解压后设置环境变量:
    • 添加 MAVEN_HOME 指向解压目录
    • %MAVEN_HOME%\bin 添加到 PATH
  • 检查是否安装成功:
mvn -v

看到输出版本号即表示成功。


核心概念:理解Spring Boot的几个关键术语

核心概念:理解Spring Boot的几个关键术语

即使你是零基础的新手,也不用担心,下面我们来用最简单的语言解释几个Spring Boot中最常用的概念,让你一目了然。


1. 什么是Spring Boot Starter?

想象一下你去吃火锅,可以选择自己准备各种食材、调料、锅具,但这样太麻烦。于是你决定点一份“自助套餐”,里面什么都有,直接开涮就行。

Spring Boot Starter 就像是一份“自助套餐”。例如:

  • spring-boot-starter-web:包含所有Web应用需要的库(如Tomcat)
  • spring-boot-starter-data-jpa:自动引入与数据库操作相关的依赖

也就是说,我们不需要一个一个地去找库文件(Jar包),只要加入合适的 Starter,Spring Boot 就会帮我们搞定一切!

✅ 示例:添加一个Web模块的Starter

<!-- pom.xml -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2. 什么是Controller?它是怎么工作的?

在Web开发中,Controller 负责处理用户请求。比如你想访问 /hello 页面,就会由某个 Controller 来响应这个请求并返回结果。

我们可以把它看作是一个“接待员”,当有客户进来问问题时,它负责回答。

✅ 示例:编写一个简单的Controller

// HelloController.java
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "你好,欢迎来到Spring Boot世界!";
    }
}

上面这段代码的意思是:当你访问网站地址 /hello 时,浏览器会显示 "你好,欢迎来到Spring Boot世界!"


3. 什么是启动类?为什么每个项目都需要它?

Spring Boot 程序需要一个“起点”,也就是主类,它负责启动整个应用程序。

✅ 示例:启动类代码

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

解释:

  • @SpringBootApplication:这是一个复合注解,它包含了自动扫描、加载配置等多个功能。
  • SpringApplication.run(...):这就是启动Spring Boot程序的入口。

你可以把它想象成电饭煲的开关按钮,按下后整个程序就跑起来了。


4. 什么是application.properties?如何配置?

有时候你需要告诉Spring Boot一些额外信息,比如你的服务器端口是多少、数据库地址在哪,这时候就要用到 application.properties 文件。

✅ 示例:修改默认端口为8081

server.port=8081

现在你运行项目,默认访问的端口就不是8080,而是8081啦!


实战项目:跟着教程一步步完成你的第一个Spring Boot应用

实战项目:跟着教程一步步完成你的第一个Spring Boot应用

现在我们来动手做一个完整的例子,体验一下从创建项目到运行的过程。


第一步:创建项目结构

你可以选择两种方式创建 Spring Boot 项目:

✅ 方法一:使用Spring Initializr官网生成

前往 https://start.spring.io/ ,设置如下内容:

  • Project: Maven
  • Language: Java
  • Spring Boot Version: 最新稳定版本(如 3.1.x)
  • Dependencies:
    • Spring Web
    • Spring Data JPA(可选)
  • 点击【Generate】下载项目压缩包。

✅ 方法二:使用IDEA创建

在IDEA中选择:

  • File > New > Project
  • 选择 Spring Initializr
  • 设置 JDK 版本
  • 选择你要的 Starter 模块
  • Finish 创建项目

第二步:项目结构说明(了解基本文件)

进入项目后你会看到如下目录结构:

my-springboot-app/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com.example.demo/
│   │   │       ├── DemoApplication.java     <-- 启动类
│   │   │       └── controller/               <-- Controller类目录
│   │   │            HelloController.java     
│   │   │            
│   │   └── resources/
│   │       └── application.properties         <-- 配置文件
├── pom.xml                                     <-- Maven配置文件

第三步:编写Controller响应请求

我们已经在前面展示过一个简单的HelloController示例。现在把它加到项目中。

  1. src/main/java/com/example/demo 目录下新建一个子包 controller
  2. 在该包下创建 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 "我是你的第一个Spring Boot接口!";
    }
}

注意两点:

  • 类上加了 @RestController 表示这是一个控制器,可以对外提供数据(比如返回JSON)
  • @GetMapping("/hello") 表示当访问路径为 /hello 时,执行这个方法

第四步:运行项目

找到 DemoApplication.java,右键选择 “Run”

控制台输出应该类似于:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.5)


![缓存策略对比-1](https://code-guide.oss.shanghai.autogptai.club/common/file/download?name=date2025061421/d3b62ea6-2b3d-4726-90b1-34bf0cf6d5be.jpg)


...
Started DemoApplication in 2.5 seconds (JVM running for 3.2)

现在打开浏览器,访问:

http://localhost:8080/hello

你应该能看到页面输出:

我是你的第一个Spring Boot接口!

🎉 成功啦!你已经完成了人生第一个Spring Boot接口!


常见问题解答(FAQ)

作为初学者,你可能会遇到不少“卡壳”的地方。别急,下面是几个新手常问的问题以及对应解决办法👇


❓ 1. 运行时报错 “Port 8080 was already in use”

这意味着本地8080端口被占用,可能是之前运行过的项目没关掉。

✅ 解决方案:

  • 修改 application.properties 中的端口:
server.port=8081
  • 或者任务管理器里结束之前的Java进程

❓ 2. 控制器没有生效,访问不到 /hello

有可能是因为:

  • 控制器未正确添加到主类所在包之下(Spring Boot默认只扫描启动类同包下的控制器)
  • 没有加上 @RestController 注解
  • 启动类未被正确运行

✅ 检查步骤:

  • 查看控制台启动日志,是否有类似 Mapped 的日志出现:
Mapped GET /hello onto public java.lang.String com.example.demo.controller.HelloController.sayHello()

如果有,则说明映射成功;否则检查路径和注解。


❓ 3. IDE报错找不到main方法或启动失败

确保启动类中有正确的main函数:

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

同时,确认启动类上有 @SpringBootApplication 注解。


❓ 4. 构建失败怎么办?比如报错“No compiler is provided in this environment.”

这通常是JDK没配置好导致的。

✅ 解决方案:

  • 确认你安装的是 JDK(不是 JRE)
  • 检查 JAVA_HOME 和 PATH 环境变量是否指向 JDK 的 bin 目录
  • IntelliJ 中设置 SDK:File > Settings > Build Tools > Maven > Importing > JDK for importer

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

恭喜你完成了第一个Spring Boot项目的搭建和运行!接下来你可以继续深入学习以下几个方向👇


✅ 1. 数据库操作:Spring Data JPA

学会将你的数据保存到MySQL、PostgreSQL等数据库中。

推荐实践项目:

  • 创建一个“学生管理系统”(增删改查)
  • 使用 JPA 操作数据库表

✅ 2. 返回JSON格式的数据

目前我们的返回值是字符串,实际项目中更常用JSON格式。

示例:

@GetMapping("/user")
public Map<String, Object> getUser() {
    Map<String, Object> user = new HashMap<>();
    user.put("name", "小明");
    user.put("age", 23);
    return user;
}

你会得到这样的JSON响应:

{
  "name": "小明",
  "age": 23
}

✅ 3. 接口文档:Swagger UI

为了更方便地测试接口,可以集成 Swagger,自动生成漂亮的API文档。

推荐学习文章:《Spring Boot整合Swagger详解》


✅ 4. 单元测试 & 日志管理

学会使用Spring Boot自带的日志系统(Logback)和单元测试工具JUnit,提高代码质量。


✅ 5. 部署项目:打包为jar或war文件

通过 mvn package 将项目打包成 jar 文件,然后可以在服务器上运行。

java -jar your-project.jar

总结:Spring Boot的核心思想就是“约定优于配置”,让开发者少写配置,多写业务逻辑。

希望这篇《Spring Boot入门教程:60分钟快速上手》能成为你通往Java后端世界的敲门砖!

如果你觉得这篇文章对你有帮助,不妨分享给你的朋友,一起踏上编程之路吧 😊

评论 0

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