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

算法边缘人
2025-06-24 08:25
阅读 584

一、开篇:Spring Boot是什么?能做什么?

一、开篇:Spring Boot是什么?能做什么?

很多刚接触后端开发的小伙伴会听到一个词叫 Spring Boot,它到底是什么呢?用最简单的话来说:

Spring Boot 是一个用来快速搭建 Java 后端服务的工具包。

我们可以把它想象成“搭积木时的自动拼接器”——有了它,我们不用再手动写一堆繁琐的配置代码,只需要专注于自己的业务逻辑即可。

为什么选择Spring Boot?

  • 自动配置(Auto Configuration):大多数功能开箱即用
  • 内嵌服务器:不需要额外安装 Tomcat 等服务器,直接运行即可
  • 依赖管理:使用 Maven 或 Gradle 可以轻松管理第三方库
  • 易于部署:可以打成 Jar 包,部署到任何有 Java 运行环境的地方
  • 社区强大:全球数百万开发者在使用

🎯 一句话目标:今天学完你可以写出一个简单的 RESTful 接口,运行起来并访问它!


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

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

学习编程就像做菜一样,先得准备好厨房和食材。下面我们就来一起“布置一下厨房”。

1. 安装Java开发环境(JDK)

Spring Boot 是基于 Java 的,所以我们需要安装 JDK(Java Development Kit)。

步骤:

  1. 访问 Oracle官网OpenJDK官网
  2. 下载对应系统的 JDK 8 或 17(建议使用17)
  3. 安装完成后,在终端(Mac/Linux)或命令提示符(Windows)中输入以下命令验证是否成功:
java -version
javac -version

你应该能看到类似输出:

openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment Temurin-17.0.5+8 (build 17.0.5+8)
OpenJDK 64-Bit Server VM Temurin-17.0.5+8 (build 17.0.5+8, mixed mode, sharing)

✅ 如果你看到版本号,说明 JDK 已经安装好了!


2. 安装IDE(推荐IntelliJ IDEA)

IntelliJ IDEA 是目前使用最多也是最适合 Java 开发的 IDE(集成开发环境),我们建议使用社区版(免费)。

安装步骤:

  1. 访问 IntelliJ IDEA下载页面
  2. 选择 Community 版本下载并安装
  3. 安装完成后打开软件,准备开始写代码!

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

Spring官方提供了一个在线工具叫做 Spring Initializr,我们可以借助它自动生成项目结构。

操作步骤:

  1. 打开浏览器访问:https://start.spring.io/
  2. 填写如下信息:
    • Project: Maven
    • Language: Java
    • Spring Boot Version: 3.x (比如 3.1.4)
    • Project Metadata:
      • Group: com.example
      • Artifact: demo
      • Name: demo
      • Description: Demo project for Spring Boot
      • Package name: com.example.demo
  3. 在 “Dependencies” 中添加如下依赖(插件):
    • Spring Web
  4. 点击 “Generate” 下载压缩包

解压之后你会看到一个标准的Maven项目结构,如下图所示:

demo/
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   └── resources
    └── test

💡 pom.xml 就像购物清单,告诉程序我们要用哪些“材料”。

将这个项目导入到 IntelliJ IDEA 中,点击 “File -> Open”,找到文件夹中的 pom.xml 文件即可。

等 IDEA 加载完成,我们就可以开始写第一个Spring Boot应用啦!


三、核心概念通俗讲解

三、核心概念通俗讲解

作为零基础的小白,我们不需要一开始就记住一大堆专业术语。我们用生活中的例子来解释几个核心概念。

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

想想家里的空调遥控器,按下按钮空调就工作了。这个遥控器就是控制器。在 Spring Boot 中,Controller 负责接收请求,并决定下一步要做什么。

举个栗子🌰:

假设你要访问 /hello 这个接口,你需要定义一个 Controller 来“监听”这个路径,当有人访问它时,就返回一句话。

2. 什么是 REST API?

REST API 其实就是一个网页地址,只不过它不展示网页内容,而是返回数据(通常是JSON格式)。例如:

https://api.github.com/users/octocat

你可以在浏览器中输入上面这个链接,就能得到 GitHub 用户 octocat 的数据,这就是一个 API 接口。

3. 什么是 MVC 架构?

Spring Boot 使用的是 MVC 架构(Model - View - Controller):

  • Model(模型):表示数据,比如用户对象
  • View(视图):显示数据的地方,现在前后端分离常用 JSON 格式代替
  • Controller(控制层):处理请求,调用 Model 获取数据,然后交给 View 显示

我们这节课主要学习 Controller 层


四、实战项目:从零搭建一个 Hello World 接口

好的,前面铺垫完了,现在我们正式进入动手环节!

目标:创建一个 GET 请求,路径为 /hello,访问它会返回一句“Hello, Spring Boot!”。

Step 1:新建一个Controller类

在项目中打开目录:

src/main/java/com/example/demo/

右键点击 “demo” 文件夹 → New → Java Class,命名为 HelloController

然后编写如下代码:

package com.example.demo;

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

@RestController // 表示这是一个控制器类,返回值直接变成响应体
public class HelloController {

    @GetMapping("/hello") // 当有人访问/hello时,执行这个方法
    public String sayHello() {
        return "Hello, Spring Boot!";
    }
}

Step 2:运行主程序

找到 DemoApplication.java 文件,它长这样:

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

右键点击编辑器中这个类 → Run ‘DemoApplication.main()’,启动应用。

你应该会在控制台看到如下输出:

Started DemoApplication in X seconds (JVM running for Y)

说明服务已经启动成功!

Step 3:访问接口

打开浏览器,访问:

http://localhost:8080/hello

你会看到页面上显示:

Hello, Spring Boot!

🎉 成功了!


五、实战扩展:返回JSON数据的API

接下来,我们来做一个稍微复杂一点的接口:返回一个用户信息的JSON数据。

Step 1:创建一个User类

com.example.demo 包下,新建一个 Java 类,名字为 User

package com.example.demo;

public class User {
    private String name;
    private int age;

    // 必须要有无参构造函数
    public User() {}

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter 和 Setter 方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

Step 2:修改HelloController类

HelloController 中加一个新方法:

@GetMapping("/user")
public User getUser() {
    return new User("Tom", 25); // 返回一个User对象
}

重启服务(或者直接保存代码即可热更新),访问:

http://localhost:8080/user

你会看到返回了 JSON 数据:

{
  "name": "Tom",
  "age": 25
}

✅ 太棒了!现在你能返回更复杂的数据类型了!


六、常见问题解答

缓存策略对比-1

❓Q1:启动时报错 “Address already in use: bind”

可能是8080端口被占用了。

解决方法:

  1. 打开终端或命令行,输入:
netstat -ano | findstr :8080
  1. 查看对应的 PID,然后任务管理器结束该进程
  2. 或者改端口号: 在 application.properties 中加入:
server.port=8081

❓Q2:访问 localhost:8080 报404?

请确认:

  • 控制器类是否加了 @RestController
  • 方法是否有 @GetMapping 注解
  • 方法名和路径是否正确
  • 是否有拼写错误
  • 项目是否正常运行

❓Q3:能不能用POST请求?

当然可以!例如:

@PostMapping("/post-example")
public String postExample(@RequestBody String body) {
    return "收到的参数是:" + body;
}

可以使用 Postman 或 curl 测试 POST 请求。

❓Q4:不想用IntelliJ IDEA可以吗?

当然可以!可以用 Eclipse、VS Code(配合 Java 插件)、或者直接命令行编译运行。不过我们强烈推荐初学者使用 IDEA 社区版,因为它提供了很多智能提示和自动补全功能。


七、下一步学习建议

微服务架构示意图-2

恭喜你完成了第一个 Spring Boot 应用!

你已经掌握了:

  • 如何搭建 Spring Boot 环境
  • 编写简单的 Controller 和接口
  • 返回文本和 JSON 数据
  • 常见问题的排查技巧

那么接下来该怎么继续学习呢?下面是为你规划的“下一关卡”路线:

✅ 学习计划推荐(一周学习路线)

第几天 学习主题 关键词
Day 1 Spring Boot 进阶 日志打印、全局异常处理
Day 2 数据库连接(MySQL + JPA) Repository、EntityManager
Day 3 用户注册与登录接口实现 CRUD操作
Day 4 接口安全(JWT) Token、加密
Day 5 配置文件与多环境配置 application.yml、dev/prod
Day 6 Swagger 接口文档生成 API 文档自动化
Day 7 项目打包与部署 Maven build、jar部署

📚 推荐资料

  • 《Spring Boot实战》作者:Craig Walls(非常适合入门)
  • Spring 官网文档:docs.spring.io
  • B站视频推荐:“Spring Boot 教程 零基础入门到项目实战”

总结

通过这篇文章,你已经迈出了 Spring Boot 开发的第一步。哪怕你是完全零基础,也能够写出一个完整的 API 接口,并且运行起来!

记住一句话:编程不是背公式,而是不断练习和试错的过程。

现在你已经有了“开枪”的能力,接下来,就是去练靶场打靶的时候啦!

加油!未来的程序员!🌟


✍️ 如果你觉得这篇教程对你有帮助,请点赞收藏,并在评论区留下你的第一个Spring Boot接口是什么吧~

评论 0

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