spring的靴子。 运行SQL脚本并在应用程序启动时获取数据

我正在开发一个spring boot应用程序。 目前我的一些配置是硬编码的(例如Hystrix属性)。

所以我想在我的应用程序启动时或之后获得这些配置。

使用弹簧靴可以做到这一点吗? 我的意思是在启动时运行SQL脚本并获取数据。

应该如何检索属性/配置并将其存储在我的应用程序中?

我正在使用MyBatis和Oracle DB。

默认情况下,Spring-Boot加载data.sql和/或data-${platform}.sql

但是,请记住,脚本将在每次启动时加载,因此我认为它更有意义(至少对于生产而言),只是已经存在数据库中的值,而不是每次启动时都重新插入。 我个人在使用内存数据库时只使用数据库初始化来测试/开发目的。 这仍然是Spring-Boot提供的function。

source: spring-boot-howto-database-initialization :

Spring JDBC具有DataSource初始化器function。 Spring Boot默认启用它,并从标准位置schema.sql和data.sql(在类路径的根目录中)加载SQL。 另外Spring Boot将加载模式 – $ {platform} .sql和data – $ {platform} .sql文件(如果存在)。

src / main / resources / data-oracle.sql:

 insert into... insert into... 
  • 您可以使用以下spring.datasource.platform=oracle定义平台: spring.datasource.platform=oracle
  • 您可以更改要加载的sql脚本的名称: spring.datasource.data=myscript.sql
  • 与data.sql一起,Spring-boot还加载schema.sql(在data.sql之前)。
  • 您还可以在data.sql中使用“更新或插入”逻辑: oracle sql:update如果存在,则为insert