1

我正在尝试从属性文件中注入布尔属性。属性的值总是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总是假的

4

3 回答 3

1

您必须使用PropertyPlaceholderConfigurer将属性文件加载到 Spring 上下文中。

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations" value="classpath:com/foo/jdbc.properties"/>
</bean>
于 2018-06-22T14:05:40.603 回答
0

另一种变体

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

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

<beans>
 
于 2021-11-24T19:13:23.203 回答
0

使用此解决方法解决了问题,而不是注入boolean,我注入String然后将其转换Stringboolean设置器

public void setUseVirtualWallet(String useVirtualWallet) {
    this.useVirtualWallet =  Boolean.parseBoolean(useVirtualWallet);
}
于 2018-07-13T10:20:50.927 回答