在SpringBoot项目的POM文件中添加spring-boot-configuration-processor的作用是什么?

spring-boot-configuration-processor(生成自定义配置的元数据信息) 平时在我们的springBoot项目中,可能会有许多的配置文件。如下图图中红色框框住的地方显示和我们的yml文件是不一样的,没有被我们的spring管理。此时可以点击File>>>ProjectStructure之后点击我们的spring配置后选择+号,然后选择自己想要被spring管理的配置文件但是此时我们配置文件中自定义的属性点击不会跳转。如你在yml文件中点击port或其他属性都会自动跳转。但是你在自己的配置文件下点击确不会有任何反应。... 阅读详情

写在前面

在自定义starter时,一般都会添加spring-boot-configuration-processor依赖,这是为什么呢?它的作用是什么?
答:①. 将自定义的配置类生成配置元数据,所以在引用自定义STARTER的工程的YML文件中,给自定义配置初始化时,会有属性名的提示。②. 确保在使用@ConfigurationProperties注解时,可以优雅的读取配置信息,引入该依赖后,IDEA不会出现“spring boot configuration annotation processor not configured”的错误。
本文只阐述如何将自定义的配置类生成配置元数据。

问题描述

在实际项目中发现“SPRING相关配置”在点击的时候可以跳转到对应的定义类中,而自定义的“MINIO相关配置”却无法点击。如下:spring.datasource.type可以点击,而minio.url无法点击

# SPRING相关配置
spring:
  # 数据源
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/hello
    username: root
    password: 123456

# MINIO相关配置
minio:
  url: http://localhost:9000
  accessKey: root
  secretKey: 123456
  bucketName: hello-world

问题分析

之所以能够点击,是因为在spring-configuration-metadata.json文件中生成了配置的元数据,为什么自定义的未生成呢?是因为自定义的配置所在工程的pom文件中没有添加如下依赖:

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

加入该依赖后执行:mvn clean package,可以看到预期结果,生成了spring-configuration-metadata.json,spring-boot-configuration-processor的作用是在工程编译时,根据配置类自动生成配置类的元数据信息,即META-INF目录下的spring-configuration-metadata.json文件,从而可以告诉Spring容器这个JAR包中有哪些自定义的配置,JSON文件如下:
生成的spring-configuration-metadata.json文件

官方连接:
spring-boot-configuration-processor官网连接

原文如下:
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.

Spring Boot 提供了一个名为 `spring-boot-configuration-processor` 的工具 主要负责生成一个名为的元数据文件。该文件包含了应用程序中定义的所有自定义配置键及其默认值、类型和其他属性的信息。通过这个文件,IDE 可以为用户提供更友好的开发体验,例如自动完成配置项以及提供实时错误检测。 阅读详情

相关推荐

【项目实战】spring-boot-configuration-processor 一个用于生成配置元数据的注解处理器

Spring Boot Configuration Processor是一个用于生成配置元数据的注解处理器。它可以帮助您生成有关Spring Boot应用程序中可用配置属性的元数据,以及这些属性的默认值和描述。spring-boot-configuration-processor是一个用于生成Spring Boot配置元数据的注解处理器。它可以自动扫描项目中的和注解,生成相应的元数据文件,使得IDEA能够提供代码补全、参数校验等功能。

奶爸的编程之路,也就一周冷个三天 2357

SpringBoot学习:spring-boot-configuration-processor

spring-boot-configuration-processor

QLSDXF的博客 1万+

Spring Boot(三十七):Spring Boot 使用spring-boot-configuration-processor获取配置文件

springboot中获取配置文件的方式,通常大家最常用的是@Value("${mail.username}")的形式,也可以用spring-boot-configuration-processor来更优雅得读取配置文件。下面讲下具体用法。 1、引入pom文件 在使用idea创建springboot项目的时候,可以选择。 也可以直接引入pom文件 <dependency>...

u013938578的博客 5620

SpringBoot之spring-boot-configuration-processor

spring-boot-configuration-processor

m0_37529488的博客 2万+

Windows 11 下 WSL 离线安装 Ubuntu 22.04 保姆级教程(国内镜像加速版)

本文提供了一份针对中国地区用户的Windows 11下WSL离线安装Ubuntu 22.04的详细教程。通过使用国内镜像源加速下载安装包,并配合PowerShell命令完成部署,有效解决了官方商店下载缓慢的问题。教程涵盖环境准备、离线包获取、安装初始化及安装后的关键优化配置,帮助用户快速搭建高效的Linux开发环境。

weixin_28452161的博客 1378

MAX31855电路和程序,实现SPI和软件模拟时序两种方式读取数据

1. 概述 MAX31855为热电偶至数字输出转换器,内置14位模/数转换器(ADC)。器件带有冷端补偿检测和修正、数字控制器、SPI兼容接口,以及相关的控制逻辑,在温度控制器、过程控制或监测系统中设计用于配合外部微控制器(μC)工作。提供多个版本的器件,每个版本针对特定的热电偶类型(K、J、N、T或E型)进行优化和调整。热电偶类型以器件型号后缀表示(例如MAX31855K)。 器件输出14位...

睿思派克 1万+

spring boot configuration annotation processor not configured 错误解决方案

读取application.properties配置时,出现如下错误:spring boot configuration annotation processor not configured @ConfigurationProperties(prefix=“book”) 解决办法: 在pom.xml中增加如下依赖 <dependency> &...

weixin_42362496的博客 4万+

亚马逊广告接口 amazon advertising

亚马逊广告接口官方说明:https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup 一:注册aws开发者账号 注册地址:https://developer.amazon.com 二:填写注册资料 三:进入控制台,生成安全配置文件 进入 Login with Amazon 菜单: 创建配置文件: 四:申请广告接入权限 申请地址:https://advertising.amazon.com/zh-cn/about-api

lzy66666的博客 4776

springboot使用spring-boot-configuration-processor获取配置文件

springboot使用spring-boot-configuration-processor获取配置文件 springboot中获取配置文件的方式,通常大家最常用的是@Value("${mail.username}")的形式,但是比如在没加入到spring中管理的类,比如Util工具类、生成的webservice客户端类中使用这种@Value形式,是读取不到配置文件的。这时候可以使用spring...

fzbbw的博客 3万+

「转载」vaptcha 等手势验证码图像识别与轨迹提取(思路)

作者:文安哲 从博客重开以后就说要更文章,鸽了蛮久了,赶紧补上一篇嫖嫖各位老公的流量。 最近看群里面大家讨论研究手势验证码比较多,然后我也顺带研究做了一下,给各位老公们分享一下做的过程。 首先,一起来康康手势验证码长啥样! 大概就是长这个样子,需要按照图像中的那条轨迹再图片上滑动,不得不说这类验证码确实体验感拉满,让人很想立马关掉这个网站。 那么言归正传,这类验证码该怎么做识...

AI悦创·编程私教1v1 3604

顶刊级科研绘图技巧

顶刊级科研绘图技巧

2401_89571885的博客 1159

Spring Boot configuration annotation processor not found in classpath

Spring Boot configuration annotation processor not found in classpath 问题产生 今天在使用Spring Boot开发的过程中,使用了Druid连接池,但在写Druid相关的Java代码时,提示Spring Boot configuration annotation processor not found in...

小羽毛的博客 6万+

Contest 226 - C - Martial artist

from atcoder Problem Statement Time Limit: 2 sec / Memory Limit: 1024 MB Score :300300points Takahashi is a martial artist. There areNNmoves that a martial artist can learn, called Move11,22,\ldots…,NN. For each1 \leq i \leq N1≤i≤N, it takes...

m0_54674275的博客 1020

Spring Boot Configuration Annotation Processor not configured

现象 idea中出部分文件提示“spring boot Configuration Annotation Processor not configured"。 原因 提示说明没有配置springboot的自动配置注解处理器,及spring-boot-configuration-processor。 在使用到ConfigurationProperties注解时无法识别。 解决方案 方案一 在pom中增加spring-boot-configuration-processor组件,状态变为正常。

进击的小白 6178

MATLAB算法实战应用案例精讲-【数模应用】装箱问题

装箱问题可以根据不同的维度进行分类。以下是一些常见的装箱问题二维装箱问题:二维装箱问题假设所有物品都是平面上的矩形,并且需要将它们放入平面上的容器中。这个问题的目标是找到一种装箱方案,使得物品不重叠并占据的总面积最小。三维装箱问题:三维装箱问题考虑到物品可以具有高度,并且需要将它们放入三维容器(如箱子或货柜)中。目标是找到一种装箱方案,使得物品不重叠且总体积最小。多维装箱问题:多维装箱问题是指在更高维度空间中进行装箱的问题。除了长度和宽度之外,物品可能具有其他属性,如高度、重量、形状等。

qq_36130719的博客 1572

关于 Nginx 监听地址 0.0.0.0 的详细解释

0.0.0.0在Nginx配置中表示监听服务器所有网络接口(包括公网IP、内网IP和本地回环地址),这是默认配置。当使用listen 80;时,Nginx会接受通过服务器任何IP地址的80端口访问请求。相比只监听特定IP,这种配置更通用,但也意味着服务会对外网开放,需注意安全风险。可通过netstat命令验证监听状态,显示0.0.0.0:80即表示正确配置。

weixin_43674738的博客 1567

IDEA中 Spring Boot Configuration Annotation Processor NotConfigured错误解决

SpringBoot在读取配置文件中的属性的时候,出现Spring Boot Configuration Annotation Processor NotConfigured错误 错误原因是没有使用到Spring Boot的注解生成器来生成元数据 文档查看 意思是需要在POM上加入 <!-- 导入配置文件处理器,配置文件进行绑定就会有提示 --> <dependency> <groupId>org.springfram

weixin_43630166的博客 2399

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SpringBoot - 子模块下spring-boot-configuration-processor不生效问题

文章目录工程结构问题问题修复 工程结构 工程结构如下 问题 在子模块 这个自定义的starter中,引入了绑定提示的spring-boot-configuration-processor <!--‐导入配置文件处理器,配置文件进行绑定会有提示--> <dependency> <groupId>org.springframework.boot</groupId> <art

小工匠 4万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

spring boot configuration annotation processor notconfigured解决方法

在使用Spring Boot时,如果项目中使用@Configuration注解,而构建工具没有正确配置Annotation Processor,就可能会遇到这个问题。“spring boot configuration annotation processor not configured”这个问题通常是由于。在项目的pom文件中引入spring-boot-configuration-processor依赖即可。我在使用ConfigurationProperties注解的时候idea出现提示信息。

小张的博客 2865

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Spring Boot——[Spring Boot Configuration Annotation Processor not found in classpath]解决方案

问题描述 使用Spring Boot开发的过程中,写读取Properties配置文件的配置类时提示Spring Boot configuration annotation processor not found in classpath,如下截图所示: 官方文档 https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/referen...

无限迭代中...... 1595

Spring Boot Configuration Annotation Processor not configured解决方法

Spring Boot Configuration Annotation Processor not configured解决方法

weixin_44047784的博客 2万+

SpringBoot自定义配置自动提示,避免报红:@ConfigurationProperties、spring-boot-configuration-processor、编译生成元数据

SpringBoot,使用配置类绑定配置属性(@ConfigurationProperties注解 + spring-boot-configuration-processor依赖),编译时自动生成配置属性的元数据(/META-INF/spring-configuration-metadata.json)。

宋冠巡的博客 2915

Spring Boot Configuration Annotation Processor not configured 问题解决

问题背景: 进行Spring Boot配置文件部署时,发出警告Spring Boot Configuration Annotation Processor not configured,但是不影响运行。 问题解决方案: 在pom.xml文件中引入依赖 <dependency> <groupId>org.springframework.boot&l...

持续学习,共同进步 10万+

SpringBoot中@ConfigurationProperties提示:Configuration Annotation Processor not found in classpath

在Spring Boot中,当使用@ConfigurationProperties定义自动配置类时,IDEA会提示: Spring Boot Configuration Annotation Processor not found in classpath 虽然对执行程序没有什么影响,但看到这个提示还是想解决一下的,解决方案是在pom.xml文件中添加如下依赖: <dependency&g...

程序新视界 3749
上一篇: MAVEN - 常用命令(三)
下一篇: 在SpringBoot中如何自定义starter
cloneme01
博客等级 码龄20年 2万+粉丝 248原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值