gpt4 book ai didi

java - 使用 Spring PropertyPlaceholderConfigurer 注入(inject)错误的值

转载 作者:太空宇宙 更新时间:2023-11-04 14:25:19 26 4
gpt4 key购买 nike

我有两个属性文件:

prop1.properties:
prop1.sample=value123

prop2.properties:
prop2.sample=value234

当我将这些属性值注入(inject)两个“InjectValues”bean 时,一切都会正常工作。但是,当我想将一个 PropertyPlaceHolder 中的值注入(inject)到另一个仅扩展 PropertyPlaceHolder 的类(而不是值)时,将按如下方式插入键。

<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>file:C:\test\prop1.properties</value>
</property>
<property name="placeholderPrefix" value="${" />
<property name="placeholderSuffix" value="}" />
</bean>

<bean id="propertyConfigurerNew"
class="com.test.spring.property.EncryptedPlaceHolder">
<property name="location">
<value>file:C:\test\prop2.properties</value>
</property>
<property name="key" value="${prop1.sample}" /> <!-- Value "${prop1.sample}" is injected instead of value123 -->
<property name="placeholderPrefix" value="#[" />
<property name="placeholderSuffix" value="]" />
</bean>

<bean id="injectValues"
class="com.test.spring.property.InjectValues">
<property name="value1" value="${prop1.sample}" /> <!-- Correct value "value123" is injected -->
<property name="value2" value="#[prop2.sample]" /> <!-- Correct value "value234" is injected -->
</bean>

最佳答案

看起来 PropertyPlaceHolders 无法替换其他 PropertyPlaceHolders 中的占位符,因为它们与评论中提到的在同一阶段执行。

关于java - 使用 Spring PropertyPlaceholderConfigurer 注入(inject)错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26743756/

26 4 0
文章推荐: java - Java 字节码有通用解析器吗?
文章推荐: html - 在
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com