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

GC观察员
2025-06-27 23:18
阅读 343

开篇:Spring Boot是什么?我能用它做什么?

开篇:Spring Boot是什么?我能用它做什么?

如果你刚刚接触Java后端开发,可能会听到一个词:“Spring Boot”。那么,Spring Boot到底是什么呢

简单来说,Spring Boot 是 Spring 框架的一个升级版,它的目标是让开发者能够更快地搭建和部署 Java 后端应用。你不需要手动去配置很多繁琐的东西,Spring Boot 已经帮你做好了。

我们可以把 Spring 想象成一个复杂的厨房,里面有各种调料、锅具、设备,你要自己一步步搭起来才能开始做饭;而 Spring Boot 就像是一个智能厨房套装——只要你打开它,就已经准备好了一切,你可以直接“开火”!

那我能用 Spring Boot 做什么呢?

  • 构建 RESTful API(比如微信小程序后端、App 接口)
  • 创建网站后端系统
  • 快速搭建微服务架构
  • 与数据库进行交互(如 MySQL、PostgreSQL)

总之,Spring Boot 是 Java 开发者用来快速构建现代 Web 应用的利器


环境准备:让我们先搭好“厨房”

环境准备:让我们先搭好“厨房”

在正式使用 Spring Boot 之前,我们需要安装一些基本的开发工具:

1. 安装 JDK(Java Development Kit)

⚠️ 注意:你需要至少安装 JDK 8 或以上版本

你可以访问 Oracle官网 或者使用开源版本 OpenJDK。

✅ 验证是否安装成功:

java -version

你看到类似这样的输出就说明安装好了:

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

2. 安装 IDE(推荐 IntelliJ IDEA 社区版)

推荐使用 IntelliJ IDEA Community Edition,它是免费且功能强大的 Java 开发工具。

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

安装完成后启动它,接下来我们要创建第一个 Spring Boot 项目啦!


3. 使用 Spring Initializr 创建项目

这是 Spring 官方提供的在线项目生成器。

📍 访问地址:https://start.spring.io/

步骤如下:

  1. Project: Maven
  2. Language: Java
  3. Spring Boot Version: 最新稳定版(例如 3.1.x)
  4. Project Metadata
    • Group: com.example
    • Artifact: demo
    • Name: DemoApplication
  5. Dependencies: 添加以下依赖(后面会解释它们的作用):
    • Spring Web
    • Thymeleaf
    • Spring Data JPA
  6. 点击 “Generate” 下载项目压缩包

缓存策略对比-1

解压后用 IntelliJ IDEA 打开即可!


核心概念:通俗易懂的关键知识点解析

在我们写代码之前,先了解几个关键术语:

1. 什么是 Maven?

Maven 是一个 Java 的依赖管理工具。它可以自动下载和管理你项目中需要用到的各种库文件(即 Jar 包)。

🔍 想象一下你在做菜,Maven 就是一个自动配送员。你告诉他需要哪些食材,他就自动帮你买回来。

在你的项目根目录下有一个文件叫做 pom.xml,它就是 Maven 的“购物清单”。

例如下面的这段 XML 就告诉 Maven 要引入 Spring Boot 的 Web 功能:

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

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

控制器就像是一家餐厅的服务员,负责接收顾客点餐请求,然后转达给后厨(也就是业务逻辑或数据库操作)。

在 Spring Boot 中,我们通过编写 Controller 类来处理浏览器或者 App 发来的请求。

举个例子:

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String sayHello() {
        return "你好,欢迎学习 Spring Boot!";
    }
}

当我们在浏览器输入:http://localhost:8080/hello,就会显示:

你好,欢迎学习 Spring Boot!


3. 什么是启动类(主类)?

每个 Spring Boot 项目必须有一个带有 @SpringBootApplication 注解的主类,它就像是整艘船的发动机。

主类模板通常是这样写的:

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

运行这个类就可以启动整个项目!


4. 什么是自动配置?

在传统的 Spring 框架里,你需要写很多 XML 文件或者 Java 配置来启用某些功能。

Spring Boot 的自动配置会根据你加入的依赖自动帮你完成这些配置

比如你加了 spring-boot-starter-data-jpa,它就会自动连接数据库、开启事务管理等。


实战项目:60分钟做出一个博客首页接口

我们现在做一个非常简单的实战项目:展示一篇博客文章的主页信息

第一步:创建实体类(Model)

我们先模拟一个“文章”的数据模型。

新建一个类 Article.java

@Entity
public class Article {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String title;
    private String content;

    // Getter 和 Setter 方法
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public String getTitle() { return title; }
    public void setTitle(String title) { this.title = title; }

    public String getContent() { return content; }
    public void setContent(String content) { this.content = content; }
}

📌 这段代码描述了一个“文章”,包含 id、标题、内容三个字段。其中:

  • @Entity 表示这是一个数据库映射对象(ORM)
  • @Id + @GeneratedValue 表示主键自动递增

第二步:创建 Repository 接口

Repository 是专门用于与数据库交互的对象。

创建接口 ArticleRepository.java

public interface ArticleRepository extends JpaRepository<Article, Long> {
}

这行代码表示:我们希望 Spring Boot 帮我们实现一个可以对 Article 数据表进行增删查改的功能。


第三步:添加测试数据(可选)

我们可以在启动时初始化一条数据。修改 DemoApplication.java

@Bean
public CommandLineRunner demo(ArticleRepository repository) {
    return (args) -> {
        repository.save(new Article("第一篇文章", "这是 Spring Boot 教程的第一篇文章!"));
        repository.save(new Article("第二篇文章", "这篇文章介绍如何快速入门 Spring Boot!"));
    };
}

现在当你运行程序时,这两条数据将被插入数据库。


第四步:创建控制器返回数据

创建控制器类 ArticleController.java

@RestController
@RequestMapping("/api/articles")
public class ArticleController {

    private final ArticleRepository articleRepository;

    public ArticleController(ArticleRepository repository) {
        this.articleRepository = repository;
    }

    @GetMapping
    public List<Article> getAllArticles() {
        return articleRepository.findAll();
    }
}

这个控制器做了以下事情:

  • /api/articles 是访问路径
  • GET 请求会调用 findAll() 查询所有文章并返回 JSON 格式的数据

第五步:运行并测试接口

在 IDEA 中点击右上角运行按钮,启动应用。

启动后在浏览器或 Postman 中输入:

http://localhost:8080/api/articles

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

[
  {
    "id": 1,
    "title": "第一篇文章",
    "content": "这是 Spring Boot 教程的第一篇文章!"
  },
  {
    "id": 2,
    "title": "第二篇文章",
    "content": "这篇文章介绍如何快速入门 Spring Boot!"
  }
]

🎉 成功啦!你现在拥有一个可以获取文章列表的接口了!


新手常见问题解答

❓1. 启动时报错:Port 8080 was already in use

这意味着端口号被占用了。你可以换个端口号,在 application.properties 中加上:

server.port=8081

❓2. 找不到某个注解(例如 @Entity)

这通常是因为没有添加对应的依赖。例如 @Entity 属于 JPA,需要确保你已经在 pom.xml 中添加了:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

❓3. 返回 JSON 格式错误怎么办?

检查是否有循环引用,或字段没有 get/set 方法。也可以尝试添加:

import lombok.Getter;
import lombok.Setter;

使用 Lombok 插件自动生成 getter/setter 方法。


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

恭喜你完成了第一个 Spring Boot 项目!你现在可以继续深入学习以下几个方向:

✅ 推荐学习路线图

学习阶段 内容 推荐资料
初级 进阶 REST API 开发、Swagger 文档、异常处理 《Spring Boot官方文档》
中级 数据库操作(MySQL、MongoDB)、安全控制(Spring Security) 《Spring Boot实战》书籍
高级 微服务架构、Docker 部署、消息队列(RabbitMQ/Kafka) B站、慕课网课程

结语:坚持练习,你一定能学会!

Spring Boot 并不难,关键是动手实践。记住一句话:

“编程不是看会的,而是练会的。”

你可以尝试在这个小项目的基础上:

  • 增加文章详情页
  • 实现文章新增、修改、删除功能
  • 加入前端页面(可以用 Vue.js 或 Thymeleaf)

有任何问题,欢迎留言评论或查阅官方文档。祝你早日成为 Spring Boot 大师!🚀


📢 如果你喜欢这篇教程,请点赞支持,并关注我获得更多 Java 开发干货!

评论 0

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