簡體   English   中英

使用 XML 從屬性文件中注入布爾值始終為 false

[英]Spring Inject boolean value from property file using XML is always false

我正在嘗試從屬性文件中注入布爾屬性。 該屬性的值始終為false

財產

use.virtual.wallet=true

xml配置

<bean id="proxyUtil" class="com.util.ProxyServiceUtility">
    <property name="useVirtualWallet" value="${use.virtual.wallet}" />
</bean>

豆子

public class ProxyServiceUtility {

    private boolean useVirtualWallet;

    public void setUseVirtualWallet(boolean useVirtualWallet) {
        this.useVirtualWallet = useVirtualWallet;
    }

    public boolean isUseVirtualWallet() {
        return useVirtualWallet;
    }
}

useVirtualWallet總是假的

您必須使用PropertyPlaceholderConfigurer 將屬性文件加載到Spring上下文中。

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations" value="classpath:com/foo/jdbc.properties"/>
</bean>

使用此解決方法解決了問題,而不是注入boolean ,而是注入了String ,然后在setter上將該String轉換為boolean

public void setUseVirtualWallet(String useVirtualWallet) {
    this.useVirtualWallet =  Boolean.parseBoolean(useVirtualWallet);
}

另一個變種

<beans 
       xmlns:context="http://www.springframework.org/schema/context">

    <context:property-placeholder location="classpath:com/foo/jdbc.properties"/>
    ...

<beans>
 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM