spring-boot-configuration-processor的真实作用

很多人都不知道这个包的真实作用

在网上搜索了一下,一大堆都是复制粘贴的,不少博客都是说这个包是用来加载传统的xml或者properties配置,其实这都是错的。没有springboot的时候照样有方法加载。

spring官网说明
这个包的作用是生成配置元数据,比如你平常在yml文件里面配置

server:
  port: 8080
  #你在idea里面可以点击port,进到这个字段里面,还可以看到配置的提示信息
aaa:
  bbb: haha
  # 自己自定义的就不能点击

这是因为在你的资源文件里面有一个spring-configuration-metadata.json文件,这是spring配置的元数据,是json形式

spring-boot-configuration-processor其实是一个注解处理器,在编译阶段干活的,一般在maven的声明都是 ,optional 为true

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-configuration-processorartifactId>
    <optional>trueoptional>
dependency>

官网原文

You can easily generate your own configuration metadata file from items annotated with @ConfigurationProperties by using the spring-boot-configuration-processor jar. The jar includes a Java annotation processor which is invoked as your project is compiled. To use the processor, include a dependency on spring-boot-configuration-processor.

百度翻译一下:
通过使用spring boot配置处理器jar,您可以从用@ConfigurationProperties注释的项轻松生成自己的配置元数据文件。jar包含一个Java注释处理器,在编译项目时调用它。要使用处理器,请包含对spring boot配置处理器的依赖。

spring-boot-configuration-processor说白了就是给自定义的配置类生成元数据信息的,因为spring也不知道你有哪些配置类,所以搞了这个方便大家自定义

spring-boot-configuration-processor的真实作用_第1张图片
在网上看到太多复制粘贴的博客,一点自己的思考都没有。
完毕

你可能感兴趣的:(spring,boot,spring)