很多人都不知道这个包的真实作用
在网上搜索了一下,一大堆都是复制粘贴的,不少博客都是说这个包是用来加载传统的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.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</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源码包结构
 

————————————————
版权声明:本文为CSDN博主「平原人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43328357/article/details/106993172

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐