在使用Spring Boot开发应用的时候,你是否有发现这样的情况:自定义属性是有高量背景的,鼠标放上去,有一个Cannot resolve configuration property的配置警告。

如果不对于这个警告觉得烦,想要去掉,那么可以通过设置来去除:

但是,我的建议是不要去掉,因为这个警告正好可以通过高亮来区分你的自定义配置以及框架配置,可以让你快速的分辨哪些是自定义的。

如果你实在想去掉,那么也不建议用上面说的方法,而是建议通过完善配置元数据的方式来完成。所以,今天就来具体说说配置元数据的应用!

啥是配置元数据?

我们不妨打开一个已经创建好的Spring Boot项目,查看一下它的Spring Boot依赖包,可以找到如下图的一个json文件:

这里报错的就是配置的元数据信息。有没有发现这些name的值都很熟悉?其中description是不是也很熟悉?对,这些就是我们常用的Spring Boot原生配置的元数据信息。

这下知道配置元数据可以用来做啥了吧?它可以帮助IDE来完成配置联想和配置提示的展示。

而我们自定义配置之所以会报警告,同时也没有提示信息,就是因为没有这个元数据的配置文件!

配置元数据的自动生成

既然知道了原理,那么接下来我们尝试用一下配置元数据试试!

第一步:创建一个配置类,定义一个自定义配置

@Data
@Configuration
@ConfigurationProperties(prefix = "com.didispace")
public class DidiProperties { /**
* 这是一个测试配置
*/
private String from; }

第二步:在pom.xml中添加自动生成配置元数据的依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>

第三步mvn install下这个项目。

此时我们可以在工程target目录下找到元数据文件:

同时,我们在配置文件中尝试编写这个自定义的配置项时,可以看到编译器给出了联想和提示:

并且,编写完配置之后,也没有高亮警告了!

代码示例

本文的相关例子可以查看下面仓库中的chapter1-4目录:

如果您觉得本文不错,欢迎Star支持,您的关注是我坚持的动力!

欢迎关注我的公众号:程序猿DD,获得独家整理的免费学习资源助力你的Java学习之路!另每周赠书不停哦~

最新文章

  1. 【PC网站前端架构探讨系列】关于中小型PC网站前端架构方案的讨论与实践
  2. c++ primer 的 textquery 例子。
  3. 使用自定义模板为Myeclipse添加新建Filter的功能
  4. ExtJs布局之border
  5. .NET/C#- EPPLUS DEMO
  6. Vmware虚拟机三种网络模式详解
  7. 同步读取各平台StreamingAssets文件
  8. 【经验分享(续篇)】Trachtenberg system(特拉亨伯格速算系统)
  9. react学习目录
  10. Function program language
  11. JQuery UI之Autocomplete(1)入门程序
  12. [BZOJ 2257][JSOI2009]瓶子和燃料 题解(GCD)
  13. 【Java】 大话数据结构(11) 查找算法(2)(二叉排序树/二叉搜索树)
  14. python之实现ftp上传下载代码(含错误处理)
  15. 【机器学习】EM的算法
  16. PAT 1048 数字加密(20)(代码+思路)
  17. (matlab)plot画图的颜色线型(转)
  18. HDU 1507 Uncle Tom&#39;s Inherited Land(最大匹配+分奇偶部分)
  19. 层级目录结构的Makefile递归编译方法
  20. Java从零开始学三十七(JAVA IO- 二进制文件读写)

热门文章

  1. 如何自定义Kubernetes资源
  2. 基于Python PIL实现简单图片格式转化器
  3. angular8 大地老师学习笔记
  4. Python 带你高效创作短视频,视频创作秀到飞起!!!
  5. 图解JanusGraph系列 - JanusGraph指标监控报警(Monitoring JanusGraph)
  6. ASP.NET网站部署到服务器IIS上和本地局域网服务器
  7. Blogs添加横幅滚动条
  8. Spring-步入Spring旅途
  9. SpringBoot全局时间转换器
  10. .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 介绍和基础)--学习笔记