目录
1、问题出现:
2、解决方案:
2.1方式一 简单粗暴的禁止提示
2.2 方式二 引入jar包
3、问题深入探究
写在前:笔者出现这个问题的时候,大概猜到是什么问题,在网上也是很快找到了解决方案,但是很多帖子,并没有深究,只是单纯的解决了问题。
1、问题出现:
当我们写配置类时就会出现如下的提示,虽然不影响运行,但看着实在碍眼,笔者这个是刚解决了的,为了记录,所以后面才截图,如果是一开始即对应的是后面截图的图片
2、解决方案:
2.1方式一 简单粗暴的禁止提示
在idea打开面板,取消勾选下面的选项即可。
2.2 方式二 引入jar包
刷新依赖即可
org.springframework.boot spring-boot-configuration-processortrue
3、问题深入探究
为什么这个问题idea只是提示,而不是错误呢?那就让我们了解下这个jar包的作用吧。
贴个官网的对于这个jar的解释:https://docs.spring.io/spring-boot/specification/configuration-metadata/annotation-processor.html
这个jar主要是在程序编译后会生成 元数据json文件,这个文件的作用是为了方便我们写properties或者yaml文件配置我们自定义的Configuration properties的键时,能显示提示,因此,这也是为什么这个没有也不会报的原因。
spring-boot-configuration-processor 是 Spring Boot 提供的一个注解处理器,它用于处理配置类(Configuration Classes)中的注解。在 Spring Boot 中,我们通常使用注解来标记配置类,例如 @Configuration、@Bean、@PropertySource 等。
这个注解处理器的主要作用是帮助 Spring Boot 框架在编译时处理配置类中的注解,生成相关的元数据,以便在运行时进行配置类的加载和相关操作。它会分析配置类中的注解,并生成必要的代码或配置信息,从而实现 Spring Boot 的自动配置和相关功能。
使用这个注解处理器有几个好处:
提高性能: 在编译时生成元数据,减少了在运行时进行反射扫描的开销,从而提高了应用程序的性能。
更好的 IDE 支持: 注解处理器会生成额外的元数据,使得 IDE 能够更好地理解和支持配置类,提供更好的代码补全、导航和验证等功能。
更严格的编译时检查: 注解处理器可以在编译时检查配置类的合法性,捕获一些错误,例如缺少必需的注解或不合法的配置,从而提高了代码的质量和稳定性。
在 Spring Boot 项目中添加 spring-boot-configuration-processor 依赖后,它会自动与 Maven 或 Gradle 集成,通过注解处理器的方式来处理配置类,提高应用程序的性能和开发效率。
总的来说,spring-boot-configuration-processor 依赖的作用是帮助 Spring Boot 在编译时处理配置类的注解,提高了性能、IDE 支持和编译时检查的效果。
详细可以看以下截图
当我们编译后,会在META-INF文件下生成spring-configure-metadat.json文件,里面的groups、properties、hints中的name与我们自定的配置属性名称一一对应,因此这也就是为什么我们在配置文件键入前面的比如executor,会自动提示后面的值,以及默认的value也是可以配置的,感兴趣可以查看上面贴出的官网。主要是方便开发人员
还没有评论,来说两句吧...