在 Spring Boot 中使用 Flyway 进行数据库迁移
在之前的 [Spring Boot JdbcTemplate 教程](/spring-boot-jdbctemplate-tutorial/) 中,我们见识了如何使用 `schema.sql` 和 `data.sql` 脚本初始化数据库。这对于演示项目可能有用,但对于实际应用,我们应该使用数据库迁移工具。 [Flyway](https://flywaydb.org/) 是最流...
在之前的 [Spring Boot JdbcTemplate 教程](/spring-boot-jdbctemplate-tutorial/) 中,我们见识了如何使用 `schema.sql` 和 `data.sql` 脚本初始化数据库。这对于演示项目可能有用,但对于实际应用,我们应该使用数据库迁移工具。 [Flyway](https://flywaydb.org/) 是最流...
1、概览 {#1概览} ----------- 在本教程中,我们将学习如何将 Spring Boot 应用迁移到 [3.0 版本](/spring-boot/)。当前所使用的 Spring Boot 版本是 2.7,并且 Java 版本是 17。 2、核心的变化 {#2核心的变化} ----------------- Spring Boot 3.0 是该框架的一个重要里程...
1、概览 {#1概览} ----------- 单例对象经常被开发人员使用,因为应用程序中的许多对象都需要重复使用一个单例。在 Spring 中,我们可以通过 **使用 Spring 的单例 Bean 或自己实现单例设计模式** 来创建单例对象。 在本教程中,我们将首先了解单例设计模式及其线程安全的实现。然后,我们将了解 Spring 中的 Singleton Bean S...
1、Spring Cache 的简介 {#1spring-cache-的简介} --------------------------------------- Spring Cache 是 Spring 框架提供的一个缓存抽象层,用于简化应用中的缓存操作。它通过在方法执行期间将结果存储在缓存中,以便在相同的输入参数下,下一次调用时可以直接从缓存中获取结果,而不必执行相同的计算...
1、概览 {#1概览} ----------- 在教程中,我们将仔细研究 Spring Boot 中出现的错误:Reason: Canonical names should be kebab-case ('-' separated), lowercase alpha-numeric characters, and must start with a lette...
1、简介 {#1简介} ----------- Spring Boot Gradle Plugin 在 Gradle 中提供 Spring Boot 支持。它允许我们打包可执行的 JAR 或 war 文件,运行 Spring Boot 应用程序,并使用 `spring-boot-dependencies` 提供的依赖管理。Spring Boot 3 Gradle Plugin...
1、概览 {#1概览} ----------- [Spring Boot 项目](https://spring.io/projects/spring-boot) 是 Spring 框架的扩展,它提供的功能有助于创建基于 Spring 的独立应用程序,并支持云原生开发。 有时,我们并不想使用 Spring Boot,例如在将 Spring Framework 整合到 Jaka...
1、概览 {#1概览} ----------- 在本教程中,我们将探索 Spring 框架中不同的错误响应格式。我们还将了解如何使用自定义属性抛出和处理 [RFC7807 ProblemDetail](https://docs.spring.io/spring-framework/docs/6.0.7/reference/html/web.html#mvc-ann-rest-...
在 Spring Boot 应用中使用 Spring Cache 管理缓存时,可以通过调用 `@CacheEvict(allEntries=true)` 注解的方法来批量删除当前缓存(`cacheNames`) 下的所有缓存项目。如下: ```java package cn.springdoc.demo.cache; import org.springframework...
Spring Boot 对 JDBC 的支持 {#spring-boot-对-jdbc-的支持} ------------------------------------------------ Spring 的 `JdbcTemplate` 在 `DataSource` 的基础上提供了执行数据库操作的高级抽象。配合 Spring 的声明式事务,能以很简单的方式管理数据库事务...