我試圖簡單地從屬性文件中獲取值, false像這樣的布爾值:@PropertySource("classpath:/conf/default/server.properties")........@Value("${startup.notify.enabled}")private boolean enabled;在屬性文件中:startup.notify.enabled=true為什么會出現此錯誤?Caused by: java.lang.IllegalArgumentException: Invalid boolean value [${startup.notify.enabled}] at org.springframework.beans.propertyeditors.CustomBooleanEditor.setAsText(CustomBooleanEditor.java:123) at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:464) at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:437) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:195) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:125) at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:61)這可能是因為占位符嗎"${startup.notify.enabled}"?
1 回答

狐的傳說
TA貢獻1804條經驗 獲得超3個贊
@Value("#{new Boolean('${startup.notify.enabled}')}")
奇跡般有效
編輯
如果您對與 一起使用的其他 int、String 等字段有問題@Value,請確保您PropertySourcesPlaceholderConfigurer的配置文件中有。
@Bean
public static PropertySourcesPlaceholderConfigurer pspc() {
return new PropertySourcesPlaceholderConfigurer();
}
添加回答
舉報
0/150
提交
取消