繁体   English   中英

覆盖硬编码的Spring属性文件

[英]Override hardcoded spring properties file

我有以下问题。 我有一个jar档案,里面有一个Spring应用程序(纯spring,带有xml配置,没有spring-boot)。 有人决定将某些属性移到外部文件。 不幸的是,该路径是硬编码在xml上下文文件中的,因此它看起来像这样:

<bean id="placeholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>classpath:hardcoded/path/props.properties</value>
        </list>
    </property>
</bean>

xml上下文文件和属性文件都在存档内。 该应用程序工作正常,但是,我需要更改(覆盖)硬编码文件中的某些属性。 不幸的是,我无法修改或编译新的jar。 我尝试将具有重写属性的文件添加到类路径(具有相同的名称),并且还传递了一些属性作为jvm args,但这没有用。 如何在不修改原始Java归档文件的情况下从类路径替换/覆盖此文件?

我来看看PropertyOverrideConfigurer

在应用程序上下文定义中覆盖bean属性值的属性资源配置程序。 它将值从属性文件推送到bean定义中。

那应该允许您在预先加载的集合之上“推送”自己的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM