读取不到properties配置文件,springboot读取不到properties
00-1010弹簧配置文件无法读取properties@Value。读取属性的错误类型是无效的布尔值[$ { spring . data source . testwhileidle }]Eclipse解决方案想法解决方案
00-1010属性文件中的属性在Spring项目的配置文件中被引用,运行时无法识别属性文件中的属性引用,但属性文件和属性已经存在。
例如:
要在Spring中使用外部属性属性文件,需要在Spring配置文件中添加bean后处理器PropertyPlaceholderConfigurer,并指明外部属性属性文件的路径:
class= org . spring framework . beans . factory . config . propertyplaceholderconfigurator property name= locations value= properties path //bean如果有多个properties属性文件,可以使用以下方法:
class= org . spring framework . beans . factory . config . propertyplaceholderconfigurator property name= locations list value properties path/value value properties path/value./列表/属性/bean
目录
00-1010在开发过程中,我遇到了一个比较无语的问题:拉了一段代码构建框架,启动时读取了属性配置文件,报告了类型转换错误。因为代码一样,我排除了代码问题,又搜索了百度谷歌,也没有找到解决方案。
先贴上报错信息:
通过字段“testWhileIdle”表达的未满足的依赖关系;嵌套异常为org . spring framework . beans . typemismatchexception :无法将“java.lang.String”类型的值转换为所需的“boolean”类型;嵌套异常是Java . lang . illegalargumentexception :无效的布尔值[$ { spring . data source . testwhileidle }]
我们可以看到,错误消息提示我们,字符串到布尔类型是错误的。
这里用到了Spring的@Value注释,我在配置文件里填了true。
后来我强打我读到的参数,还是报错了。可以确定所获得的值不正确。
经过测试,读取值,发现读取的值是Spring . data source . testwhileidle而不是true(Spring读取配置文件时,如果无法读取,那么@Value得到的值就是括号内的值,有点坑。)
我们可以得出结论,属性没有成功加载。
知道了看不懂的真正原因,其实更容易搜索到问题所在。
00-1010 eclipse配置源代码排除过滤掉application.properties或者application.yml,具体位置是:项目属性-Java构建路径-Source(tab)-构建路径上的源文件夹:[排除部分]
目前不知道idea中00-1010的配置。我用idea,最后通过pom.xml解决问题
引入性质,最后求解。
以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。