欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

@ConfigurationProperties遇到的坑及解决

程序员文章站 2022-03-17 17:16:34
想着偷懒,直接使用@configurationproperties(prefix="xxx")读取配置文件,不使用@value("${xxx}")去一个一个的注入。遇到的坑:创建完成类以后忘记生成se...

想着偷懒,直接使用@configurationproperties(prefix="xxx")读取配置文件,不使用@value("${xxx}")去一个一个的注入。

遇到的坑:

创建完成类以后忘记生成set方法,导致启动项目无法读取配置文件;使用@value("${xxx}")在没有生成set方法前提下,能注入配置参数。

注:

1.如果使用@configurationproperties注入配置参数,切记生成get和set方法。

2.使用@value("${xxx}"),可以不生成get和set方法。

@configurationproperties报错的解决方式

使用spring initializr快速创建springboot项目时,@configurationproperties(prefix = “person”),注解会有红色报错的标识。

如下:

@ConfigurationProperties遇到的坑及解决

解决方式一:

在该类上再加一个@component注解,便可解决问题。

/*
将配置文件中所配置的属性映射到perso
@configurationproperties:将该类中所有的属性和配置文件中的相关配置进行绑定。
prefix = "person":指定将配置文件下peoson和属性进行一一映射。
该类必须在容器中,才可使用@configurationproperties(prefix = "person")功能。
 */
@component
@configurationproperties(prefix = "person")

解决方式二:

暴力解决方式。将红色标识强行取消。此种情况下,简单测试可以正常进行,但是不知后续会不会出现问题。

@ConfigurationProperties遇到的坑及解决

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。