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

JSON搬运员
2025-06-24 21:00
阅读 764

一、为什么要学习Spring Boot?

一、为什么要学习Spring Boot?

在我们开始之前,先来简单了解一下什么是 Spring Boot

Spring Boot 是 Java 开发领域非常流行的一个框架。它基于 Spring 框架,但做了很多简化和封装,让开发者能够更快速地开发 Web 应用和服务。你可以把它理解为“开箱即用”的 Spring。

1.1 传统 Spring 的痛点

在传统的 Spring 项目中,你往往需要做这些工作:

  • 配置一大堆 XML 文件。
  • 手动导入各种依赖(jar 包)。
  • 启动服务器需要配置 Tomcat 或 Jetty 等容器。
  • 编写大量模板代码才能运行一个简单的 Web 页面。

1.2 Spring Boot 的优势

而使用 Spring Boot 可以:

  • 自动配置大多数常用组件。
  • 内嵌 Tomcat、Jetty 等服务器,无需额外安装。
  • 快速启动 Web 项目,甚至可以几分钟内跑起来。
  • 极大减少重复代码,提高开发效率。

1.3 谁适合学习 Spring Boot?

如果你已经掌握了 Java 基础知识,比如变量、循环、类与对象等,并且对 Web 开发感兴趣,想从零开始做一个后端项目,那么 Spring Boot 就非常适合你!

接下来我们将一步步带你完成环境搭建、核心概念理解和项目实战,助你60分钟内掌握 Spring Boot 入门技能!


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

微服务架构示意图-1

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

在正式编写代码之前,我们需要准备好开发工具和相关软件。别担心,每一步都很简单。

2.1 安装 JDK(Java Development Kit)

Spring Boot 使用的是 Java 编程语言,所以我们首先要安装 JDK

步骤如下:

  1. 打开 Oracle JDK官网 或者使用 OpenJDK(推荐)。
  2. 下载适用于你操作系统的版本(建议选择 JDK 8 或 11 或 17)。
  3. 安装完成后,在终端或命令行中输入以下命令验证是否安装成功:
java -version

你应该会看到类似这样的输出:

java 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.382-b09, mixed mode, sharing)

2.2 安装 IntelliJ IDEA(IDE)

IntelliJ IDEA 是 JetBrains 推出的 Java 集成开发环境(IDE),特别适合用来开发 Spring Boot 项目。

下载地址: https://www.jetbrains.com/idea/download/

安装建议:

  • 推荐使用 Community Edition(免费版),完全够用了。
  • 安装过程基本是“下一步”式的图形界面操作。

提示:安装完成后,打开 IDEA 时可以选择“Start a new project”。

2.3 初始化你的第一个 Spring Boot 项目

我们可以直接通过 Spring Initializr 创建一个空白项目:

访问这个网址:https://start.spring.io/

填写如下信息:

  • Project: Maven
  • Language: Java
  • Spring Boot Version: 最新稳定版(例如 3.2.x)
  • Project Metadata:
    • Group: com.example
    • Artifact: demo
    • Name: DemoApplication
  • Dependencies:
    • 选中 Spring Web

点击 “Generate” 按钮,下载压缩包。解压后,用 IntelliJ IDEA 打开该项目。

2.4 项目结构预览

展开项目目录,你会看到几个关键文件和目录:

  • pom.xml: Maven 项目的配置文件(相当于说明书)
  • src/main/java/com/example/demo/DemoApplication.java: 主程序入口
  • src/main/resources/application.properties: 应用配置文件

现在我们就有了一个最基础的 Spring Boot 项目啦!接下来我们来看看一些重要的概念。


三、Spring Boot的核心概念解释

Spring Boot 之所以强大,是因为它基于 Spring 框架提供了许多高级功能,但又简化了开发流程。本节将讲解一些你需要了解的关键术语。

3.1 Spring Framework 和 Spring Boot 的关系

项目 描述
Spring Framework 是 Java 企业级开发的基础框架,提供了如依赖注入、AOP(面向切面编程)等功能
Spring Boot 在 Spring 基础上封装,提供自动配置机制,省去了大量手动配置

简单来说:Spring 是汽车引擎,Spring Boot 就是整辆汽车本身,开箱即用。

3.2 依赖注入(Dependency Injection)

想象一下你要组装一台电脑,你不需要自己生产每个部件(显卡、主板、内存条),而是去“商店”获取它们。

**依赖注入(DI)**就是 Spring Boot 中自动帮你把这些“零件”注入到你的类里。

示例:

@Service
public class HelloService {
    public String sayHello() {
        return "Hello from HelloService!";
    }
}
@RestController
public class HelloController {
    
    @Autowired
    private HelloService helloService;

    @GetMapping("/hello")
    public String hello() {
        return helloService.sayHello();
    }
}

上面的例子中,@Autowired 注解告诉 Spring Boot:“把 HelloService 实例给我用吧。”

3.3 控制器(Controller)、服务(Service)和 Repository 层结构

Spring Boot 鼓励采用分层架构开发:

层级 作用 常用注解
Controller 层 接收请求(比如浏览器发送过来的 HTTP 请求) @RestController, @RequestMapping
Service 层 处理业务逻辑 @Service
Repository 层 操作数据库 @Repository

这是最常见的三层架构,便于组织大型项目代码结构。

3.4 Starter 与 Auto Configuration

Starter(起步依赖)

Starter 是 Spring Boot 提供的便捷依赖管理方式。比如:

  • spring-boot-starter-web 包含所有开发 Web 项目需要的库。
  • spring-boot-starter-data-jpa 支持数据库操作。

Auto Configuration(自动配置)

当你添加一个 starter 后,Spring Boot 会自动进行合理的默认配置。例如,添加 web starter 后,就会自动引入 Tomcat 并启用 Spring MVC。

这就是为什么你几乎不用写任何配置,就能运行 Web 服务的原因!


四、实战项目:构建一个简单的 REST API

理论学得差不多了,我们来做点实际的!

我们要创建一个简单的 RESTful API,实现如下功能:

  • 访问 /api/hello 接口,返回 "Hello, Spring Boot!"
  • 访问 /api/greet?name=Tom,返回 "Hi, Tom!"

4.1 新建一个 Controller 类

src/main/java/com/example/demo/controller/ 目录下新建一个类文件:GreetingController.java(如果目录不存在就创建)

package com.example.demo.controller;

import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api")
public class GreetingController {

    // GET /api/hello
    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot!";
    }

    // GET /api/greet?name=Tom
    @GetMapping("/greet")
    public String greet(@RequestParam String name) {
        return "Hi, " + name + "!";
    }
}

4.2 运行你的 Spring Boot 应用

打开主类 DemoApplication.java,右键点击 → Run ‘DemoApplication’。控制台会看到日志输出,表明应用已启动。

默认情况下,Spring Boot 会在 localhost:8080 上运行。

4.3 测试你的接口

浏览器测试:

Postman 或 curl 测试(可选):

curl http://localhost:8080/api/greet?name=John

输出:

Hi, John!

4.4 加入 Service 层优化结构

为了让你更熟悉 Spring 的分层模式,我们把打招呼的逻辑提取到 service 层。

新建 src/main/java/com/example/demo/service/GreetingService.java

package com.example.demo.service;

import org.springframework.stereotype.Service;

@Service
public class GreetingService {

    public String greet(String name) {
        return "Hi, " + name + "!";
    }
}

然后修改 GreetingController.java

@Autowired
private GreetingService greetingService;

@GetMapping("/greet")
public String greet(@RequestParam String name) {
    return greetingService.greet(name);
}

重启项目后访问:http://localhost:8080/api/greet?name=Alice
应该还是能正常返回:Hi, Alice!

恭喜你,现在已经完成了第一个 Spring Boot REST API!


五、新手常见问题解答

以下是初学者常见的几个问题及其解决方案,帮助你少走弯路。

Q1:启动时报错,提示找不到主类怎么办?

错误信息可能包括:

No main class found.
Could not find the main class: com.example.demo.DemoApplication

解决方法:

  • 确保你在 IDE 中正确设置了运行入口;
  • 检查主类名是否有拼写错误;
  • 确保主类上有 @SpringBootApplication 注解;
  • 如果是 Maven 项目,尝试执行 mvn clean install 后重新运行。

Q2:启动没问题,但是访问不了 /api/hello

可能原因及解决办法:

  • 检查控制台有没有报错;
  • 查看 Spring Boot 是否正常启动;
  • 确保端口号没有被占用,默认是 8080;
  • 检查 URL 是否正确:http://localhost:8080/api/hello
  • 如果有防火墙设置,请关闭试试;
  • 检查 controller 是否加了 @RestController 注解。

Q3:Postman 发送 POST 请求失败?

如果你尝试发送 POST 请求返回 405(Method Not Allowed)或其他错误,可能是由于:

  • 没有添加 @PostMapping 注解;
  • 没有设置请求体格式(例如 JSON);
  • 后端没有处理请求的方法;

示例代码修复:

@PostMapping("/greet")
public String postGreet(@RequestBody Map<String, String> payload) {
    String name = payload.get("name");
    return "Hi, " + name + "!";
}

在 Postman 中发送 JSON 数据:

{
  "name": "Jerry"
}

并设置 Header:

Content-Type: application/json

Q4:pom.xml 报错,无法加载依赖?

出现这类问题一般是因为网络问题导致 Maven 下载失败。

解决方法:

  • 检查网络连接;
  • 清除本地 maven 缓存(位于用户目录下的 .m2/repository);
  • 使用国内镜像加速(如阿里云)修改 settings.xml:
<mirror>
  <id>nexus-aliyun</id>
  <mirrorOf>*</mirrorOf>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

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

经过前面的学习,你现在应该已经掌握了 Spring Boot 的基本使用方法,也具备了独立开发一个简单 Web API 的能力。

接下来你可以沿着以下几个方向继续深入学习:

6.1 推荐进阶学习路径

学习阶段 推荐内容
初级进阶 学习 Thymeleaf 模板渲染网页、Spring Security 认证权限控制
数据库交互 学习 JPA、MyBatis 等数据持久化技术
微服务架构 了解 Spring Cloud 微服务生态系统(如 Eureka、Feign、Gateway)
异步与消息队列 学习 RabbitMQ、Kafka 与 Spring Boot 集成
性能优化 探索 Actuator 监控、缓存策略(Redis)、线程池等

6.2 推荐学习资源

资源类型 推荐链接
官方文档 https://docs.spring.io/spring-boot/docs/current/reference/html/
视频课程 B站搜索“Spring Boot 入门”、“动力节点 Spring Boot”等经典教程
图书推荐 《Spring Boot 从入门到精通》《Spring Boot 实战》
社区论坛 CSDN、掘金、知乎、Stack Overflow

6.3 实践建议

最好的学习方法永远是动手写代码。你可以尝试扩展我们刚才的小项目,比如:

✅ 添加数据库支持,实现增删改查功能;
✅ 添加用户登录注册功能(结合 Spring Security);
✅ 做个小型博客系统或者待办事项管理系统;
✅ 使用 Swagger 自动生成 API 文档;

不要怕犯错,多调试、多查资料,你一定会越来越熟练!


结语

本篇 Spring Boot 入门教程旨在为刚刚接触后端开发的同学提供一条清晰、高效的入门路径。希望通过这篇文章你能迅速上手 Spring Boot,并迈出成为 Java 后端工程师的第一步。

记住一句话:编程不是学会的,而是练出来的。 现在就打开你的 IDE,开始敲代码吧!

如果你喜欢这篇文章,欢迎点赞、分享给更多的小伙伴 👍💬

评论 0

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