关于spring微服务项目-具有如下布尔参数:
@Value("${a.b.c}")
private boolean flag;
在.yaml文件上具有:
a
b
c: true
但是在运行应用程序时,获得:由以下原因引起:java.lang.IllegalArgumentException:无效的布尔值[${a.b.c}]网址:org.springframework.beans.propertyeditors.CustomBooleanEditor.setAsText(CustomBooleanEditor.java:154(位于org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:429(
而调试看起来参数是获取标签名称(a.b.c(,而不是标签值(true
知道怎么了吗?应该检查什么?还是固定的?
首先,你的yaml看起来不对:
应该是(带冒号(:
a:
b:
c: true
除此之外,您是否将这些定义放入application.yaml
(或yml(中,或者您是否有一些自定义配置?如果你把它放在application.yaml
中,@Value
本身在Java中定义得很好,所以考虑到在它的一个字段上有这个注释的类本身就是一个springbean,它应该可以工作。