前言
今天分享的并不是小知识,而是踩过的两个坑,我先踩为敬,希望各位看完勿入、勿入!
坑点 1
1.1 描述
使用 批量注入 中配置属性,刚写完这行代码,文件标签栏下方立马出现如下报错信息:
报错信息的中文大意是:在类路径当中找不到 配置注解处理器
虽然不影响注入配置属性值,但是很影响代码美观,造成身心的不愉悦!
1.2 填坑
点击,报错文本后面链接:
紧接着打开这个页面:
啊这,行吧……那我就直接给出两种解决方案:
治标又治本式,在 文件中加入 依赖:
坑点 2
2.1 描述
关于:配置文件中属性如何映射到配置类中的静态成员变量上?
配置文件
配置类
这个配置类包含四个成员变量,分别对应配置文件中的 下的属性,前三个为普通变量, 为静态属性,因为使用后期使用频率较多,为了使用类名.的形式调用方便且快捷地拿到全局配置的文件路径。
注意:千万别漏了 注解,该注解将 放到 容器之中,交由 管理。
@Value 和 @ConfigurationProperties 两者的区别?
注解可以通过全限定名进行配置的绑定,属于显式绑定, 注解其实就是相当于使用了多个 同时绑定,属于隐式绑定的,这就意味着在编写配置文件时,只需和类中的属性名保持一致即可,如果类中的属性名采用的是驼峰命名法,则使用短横(-)连接即可。
纸上得来终觉浅,正当我运行测试用例,准备得意洋洋看到控制台输出 文件路径结果时, 一闪而过,我直接愣住,人傻掉……
2.2 填坑
尝试了很多中方法仍然无效,但是通过自动注入能拿到非静态的其他属性值,山重水复疑无路之际,我决定寻求同学的帮助,从他口中得知是静态属性的缘故,就在我思考 “静态属性就一定注入不了值吗?”,纳闷的我看到了 的 方法,其他的属性都是通过赋值方法进行值注入的,那么眼前这个方法为何不可呢?原来是我把它的赋值方法标明为 了,导致配置属性注入时无法调用该方法。
去掉 关键字,我拿到了我想要的文件路径:
结尾
撰文不易,欢迎大家点赞、评论,你的关注、点赞是我坚持的不懈动力,感谢大家能够看到这里!Peace & Love。
领取专属 10元无门槛券
私享最新 技术干货