Spring 考虑 application.properties 的预加载数据的数据最佳实践

Spring data best practice for preload data that considers application.properties

在我的 spring 数据项目中,有些数据我更喜欢用 data.sql 填充。它们是图像资源、图标和徽标之类的东西。

我的项目有两个 application.properties。一个用于本地开发,另一个用于在具有不同 server.adress 的主服务器上发布 我的问题是 data.sql 无法从属性导入变量:

INSERT INTO sticker_table( sticker_type, sticker_img_url , free_sticker) values (1,'http://192.168.34.24:8085/public/ic_avator_boy_1.png',true)

我无法从 data.sql 中选择的属性中考虑 server.address。我要 http://192.168.34.24:8085 for develop server and http://192.168.24.250:8080 发布。

那么我如何考虑 data.sql 中的 application.properties 变量,或者是否有更好的方法在起点处填充服务器数据?

According to the spring-data-jpa documentation,您可以将 data-${platform}.sql 添加到您的 spring 启动项目。您可以使用它来区分本地服务器和远程服务器之间的差异 data-local.sqldata-remote.sql。完成后,您可以按如下方式控制要加载的文件...

java -jar -Dspring.datasource.platform=local application.jar

java -jar application.jar --spring.datasource.platform=remote