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

考虑application.properties的预加载数据的Spring数据最佳实践,spring,spring-data,server-configuration,Spring,Spring Data,Server Configuration,在我的spring数据项目中,有一些数据我更喜欢用Data.sql填充。它们是像图像资源、图标和徽标之类的东西 我的项目有两个application.properties。一个用于本地开发,另一个用于在具有不同server.address的主服务器上发布 我的问题在数据中。sql无法从属性导入变量: INSERT INTO sticker_table( sticker_type, sticker_img_url , free_sticker) values (1,'http://192.168.

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

我的项目有两个
application.properties
。一个用于本地开发,另一个用于在具有不同
server.address的主服务器上发布
我的问题在
数据中。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中考虑Apple?Provices变量?还是有更好的方法来填充服务器在起始点的数据?

< P>,您可以在Spring启动项目中添加<代码>数据-${Stase} .SQL<代码>。您可以使用它来区分本地服务器和远程服务器之间的差异,使用
datalocal.sql
dataremote.sql
。一旦你这样做了,你可以控制哪个文件加载如下

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

,您可以将
数据-${platform}.sql
添加到spring引导项目中。您可以使用它来区分本地服务器和远程服务器之间的差异,使用
datalocal.sql
dataremote.sql
。一旦你这样做了,你可以控制哪个文件加载如下

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


如何执行脚本?是否可以设置一个环境变量DEV/PROD,该变量可以使用Spring@Value或其他方法进行设置,然后根据变量加载属性文件。然后使用.sql文件中的命名变量,您可以在执行脚本之前替换加载属性中的值。@nitinplabhu我像这是:java-jar-Dspring.profiles.active=propertyName application.jar,但无法了解data.sqlHow中的properties变量是如何执行脚本的?您能否拥有一个环境变量DEV/PROD set,该变量可以使用Spring@Value或其他东西进行设置,然后根据变量加载属性文件.sql文件中的变量。然后,您可以在执行脚本之前替换加载属性中的值。@NitinPrabhu我是这样执行的:java-jar-Dspring.profiles.active=propertyName application.jar,但无法了解如何在data.sqlproperties中使用变量。这是预加载数据的最佳做法吗?这是预加载数据的最佳做法吗数据?