我正在开发一个Spring Boot应用程序。目前,我的一些配置已经过硬编码(例如Hystrix属性)。
所以我想在我的应用程序启动时间或之后启动这些配置。
使用Spring Boot可以做到吗?我的意思是在启动时运行SQL脚本并获取数据。
应该如何检索属性/配置并将其存储在我的应用程序中?
我正在使用MyBatis和Oracle DB。
默认情况下,Spring-Boot加载data.sql和/或data-${platform}.sql。
data.sql
data-${platform}.sql
但是,请记住,该脚本将在每次启动时加载,因此我认为(至少对于生产而言)更有意义(仅在数据库中已存在值,而不是在每次启动时都重新插入)。 我个人仅在使用内存数据库时将数据库初始化用于测试/开发目的。 尽管如此,这是Spring-Boot提供的功能。
来源:spring-boot-howto-database-initialization:
Spring JDBC具有数据源初始化器功能。Spring Boot默认情况下启用它,并从标准位置schema.sql和data.sql(在类路径的根目录中)加载SQL。另外,Spring Boot还将加载schema-$ {platform} .sql和data-$ {platform} .sql文件(如果存在)。
src / main / resources / data-oracle.sql:
insert into... insert into...
spring.datasource.platform=oracle
spring.datasource.data=myscript.sql
schema.sql