gpt4 book ai didi

java - Spring属性占位符配置需要在运行时动态替换

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:49 24 4
gpt4 key购买 nike

我在 spring 中有一个属性类持有者配置

<context:property-placeholder location="classpath:${appConfig}" />

在我的类路径中有三个配置 dev.properties、qa.properties 和 prod.properties

我需要传递 appConfig,它应该替换为我在运行时动态传递的值

当我执行此 java -jar application.jar -DappConfig=dev.properties 时,无法将 appConfig 替换为 dev.properties。

最佳答案

您可以使用 ${spring.profiles.active} 并相应地命名属性文件以访问它们,例如:

<context:property-placeholder location="classpath:${spring.profiles.active}.properties" />

这样,您可以在类路径中包含 dev.propertiesstage.properties 等,并且将根据配置的配置文件选择适当的文件。

更新

您可以在运行应用程序时将配置文件值作为命令行参数传递,例如java -Dspring.profiles.active=dev -jar application.jar

关于java - Spring属性占位符配置需要在运行时动态替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43440390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com