[英]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.