@Value没有使用<context:property-placeholder location =“/&gt;解析

时间:2016-01-13 03:00:11

标签: spring

&lt; p&gt;嘿伙计们我有问题。我正在使用Spring,我有一个带有注入布尔值的类&lt; / p&gt; &LT;预&GT;&LT;代码&GT; protected boolean ignoreVisibleFlag; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;我已经确认该属性确实存在于我的属性文件中:&lt; / p&gt; &lt; p&gt;并且我已经在我的应用程序上下文XML中验证了我:&lt; / p&gt; &lt; pre&gt;&lt; code&gt;&lt; context:property-placeholder location =“classpath.properties”=“”&gt;&#xa; <=“”code =“”>

但是我仍然得到以下堆栈跟踪:

Caused by: org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'boolean'; nested exception is java.lang.IllegalArgumentException: Invalid boolean value 
    at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:77)

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

从过去的经验来看,使用原语并不能处理从字符串(读取)到布尔的转换。

你需要做的是使用Object代替原语,它将启用从String到boolean的转换过程。

@Value("${mojo.ignoreAlertsVisibleFlag}")
protected Boolean ignoreVisibleFlag;

答案 1 :(得分:0)

微米。 Deinum的解决方案奏效了。我需要添加到我的调度程序servlet。