Spring application.properties 文件中的布尔值?
Posted
技术标签:
【中文标题】Spring application.properties 文件中的布尔值?【英文标题】:boolean values in Spring application.properties file? 【发布时间】:2016-04-04 09:50:09 【问题描述】:Spring 配置文件中是否可以有布尔值?
我在我的 bean 中写了以下字段:
@Value("$pdk.populatedemo")
private boolean populateDemo;
但如果导致以下异常:
Could not autowire field: private boolean com.inthemoon.pdk.data.DatabaseService.populateDemo; nested exception is 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 [1;]
我试过了
pdk.populatedemo=1;
在application.properties
。我还尝试了=true
和其他一些。
【问题讨论】:
inapplication.properties
我也试过=true
末尾有分号 ?
【参考方案1】:
布尔类型的正确值是
pdk.populatedemo=true
1
不是布尔字段的有效值,您不能在属性文件中使用分号作为布尔值(您可以在错误消息中清楚地看到)。
【讨论】:
在springboot 2/spring 5 "pdk.populatedemo=true" 为false,机制改为1/0【参考方案2】:您有多种选择:
# in case of set it hardcoded ALWAYS true
pdk.populatedemo=true
# in case of set it hardcoded ALWAYS false
pdk.populatedemo=false
# in case of set it dynamically,
# where isPopulatedemo is a system property or an environment variable having a string value either "true" or "false"
pdk.populatedemo=$isPopulatedemo
【讨论】:
以上是关于Spring application.properties 文件中的布尔值?的主要内容,如果未能解决你的问题,请参考以下文章
springboot学习入门简易版八---springboot2.0多环境配置整合mybatis mysql8+(19-20)
使用 application-test.properties 自动装配 Bean
IntelliJ Idea配置application.properties中中文配置上传到Mysql数据库乱码