Spring Boot - 初始数据的条件加载
Posted
技术标签:
【中文标题】Spring Boot - 初始数据的条件加载【英文标题】:Spring Boot - Conditional Loading of Initial Data 【发布时间】:2019-04-21 02:13:16 【问题描述】:我已经设置了我的 Spring Boot 应用程序,以便在启动时填充我的 H2 嵌入式数据库。我通过在 src/main/resources
文件夹中创建一个 data.sql 文件来完成此操作。
我不明白是什么导致它在启动时运行。
另外,我想让这个有条件 - 例如在我运行单元测试时阻止它执行。这可能吗?
here 有人问过类似的问题,但没有解决。
【问题讨论】:
要根据spring profile加载数据吗? 我不知道。我对这一切都很陌生,所以仍在努力弄清楚。 快速而简短地解释如何做到这一点,我在这里回答:***.com/questions/38040572/… 未来读者.. 你可以在这里找到一个“弹簧轮廓”驱动的答案:***.com/questions/23790743/… 【参考方案1】:导致加载 data.sql 文件的机制在 Spring 文档第 85.3 章Database Initialization中进行了描述
data.sql 文件名是未通过属性spring.datasource.data
设置脚本时的备用文件名(有关常见弹簧属性的列表,请转到here 并查找有关数据源的属性)
因此,对于您的用例,将您的 dml 脚本重命名为 data-default.sql
和 data-test.sql
之类的名称,并在您的 application.yml 或属性文件中将它们设置为特定的配置文件。
【讨论】:
此外,我建议使用高级数据库迁移实用程序来设置您的数据库docs.spring.io/spring-boot/docs/current/reference/html/…以上是关于Spring Boot - 初始数据的条件加载的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot学习总结(25)——Spring Boot 资源初始化加载总结
Spring Boot学习总结(25)——Spring Boot 资源初始化加载总结