gpt4 book ai didi

java - 是否可以在运行时指定上下文属性占位符

转载 作者:行者123 更新时间:2023-11-30 07:17:42 25 4
gpt4 key购买 nike

我有一个使用 spring 的独立 jar。我的 spring xml 中的配置使用占位符,在使用 maven 进行编译时,我一直在替换这些占位符。 Spring 配置示例:

<bean id="foo" class="package.Foo">
<property name="host" value="${db.host}" />
</bean>

我不想使用 Maven 替换 ${db.host},而是想在运行时传入一个属性文件,例如

java -jar Application.jar productionDB.properties

这将允许我通过传入生产数据库属性文件或测试数据库属性文件在运行时切换数据库主机。

是否可以这样做,或者是否有更好的方法来实现相同的目标?

最佳答案

您可以将属性文件指定为系统属性,例如:

java -jar Application.jar -DappConfig=/path/to/productionDB.properties

然后您应该能够在您的应用程序上下文中引用它:

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

<bean id="foo" class="package.Foo">
<property name="host" value="${db.host}" />
</bean>

关于java - 是否可以在运行时指定上下文属性占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15880081/

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