SpringBoot中@ConfigurationProperties的使用
admin
2024-02-05 00:19:42
0

@ConfigurationProperties是springboot提供读取配置文件中属性的一个注解,它是实现了BeanPostProcessor接口,在bean被实例化后,会调用后置处理,递归的查找属性,通过反射注入值,需要提供getter、setter方法。通常是作用在配置类或组件类上面

一、@ConfigurationProperties 的使用场景

1、如果是多个属性映射,而且经常被复用,推荐使用 @ConfigurationProperties,此方式无需给默认值,读取不到属性默认为空

2、如果只读取单个属性则推荐使用 @Value,@Value支持spel表达式,必须给默认值,否则读取不到属性会报错

二、@ConfigurationProperties 的使用方法

1、配合 @Component 或 @Configuration 使用

配置类属性:

@Data
@Component
@ConfigurationProperties(prefix = "test.properties")
@RefreshScope
public class TestConfigurePropertiesDto {private String name;private String address;private Integer age;private String email;}

配置中心属性:

test:properties:name: 张三郎address: 上海市age: 30email: 676311615@qq.com

说明:
【1】必须提供 getter、setter 方法,否则无法注入属性值
【2】此方式必须将当前属性类交给Spring容器管理,也就是标注为 @Component 或 @Configuration
【3】属性名称和配置中心属性名称不一定一致,但最好保持一致

2、配合 @Component 或 @Configuration 使用

配置类属性:

@Data
public class TestConfigurePropertiesDto {private String name;private String address;private Integer age;private String email;}

@Bean标注实例方法:

@Bean
@ConfigurationProperties(prefix = "test.properties")
@RefreshScope
public TestConfigurePropertiesDto testConfigurePropertiesDto(){return new TestConfigurePropertiesDto();
}

配置中心属性:

test:properties:name: 张三郎address: 上海市age: 30email: 676311615@qq.com

小结:
按照上述两种使用方式,都可以正常读取配置中心属性值

相关内容

热门资讯

和讯投顾周翔:超级主力完成出货... 当前A股市场出现了一些令人关注的现象,确实让不少投资者感到困惑和不安。今天上证50ETF成交创下了1...
业务承压、回款滞后!成都路桥2... 1月22日,成都路桥(002628)披露2025年度业绩预告,预计2025年归母净利润亏损6500万...
美股爆发,黄金直拉!特朗普:将... 1月22日晚间,美股全线走高。消息面上,美国总统特朗普最新表示,正在推进中的格陵兰岛协议将赋予美国“...
原创 楼... 作为一名长期关注中国房地产市场的观察者,我见证了无数家庭在这个市场中的起伏。扎根于地产研究的十八年经...
六大行集体公告!落实个人消费贷... 人民网北京1月22日电 (记者罗知之)近日,工商银行、农业银行、中国银行、建设银行、交通银行、邮储银...
资本密集型领域正在成为外资投资... 人民网罗马1月21日电 (记者郑彬)日前,联合国贸易和发展会议(简称:联合国贸发会议)最新发布的《全...
为会展行业注入新动能 2026... 深圳商报·读创客户端记者 刘娥 在科技变革与产业融合的双重驱动下,中国会展业正迎来前所未有的发展机遇...
原创 狂... 在各类资产起起伏伏的当下,有一个板块正在悄悄走出独立行情。近日,包括高盛、花旗在内的多家国际大行分析...
郑州机场上线“无感通关”,单件... 【大河财立方 记者 陈诗昂】“这次从韩国回来,通关流程简便了,拿到行李后,不用排队搬运过X光机,几分...
原创 印... 2025年11月,印度五大炼油企业在制裁截止日11月21日之前,大规模囤积俄罗斯石油,在12月份没有...
收评:创业板指探底回升涨超1%... 【收评:创业板指探底回升涨超1% 商业航天概念爆发】财联社1月22日电,市场午后震荡回升,三大指数集...
富国消费主题混合C基金近3年单... 近期,富国基金旗下富国消费主题混合基金的表现引起市场关注。 富国消费主题混合基金成立于2014年12...
宏利基金被曝与特斯拉存在诉讼 ... 近期,上海市高级人民法院披露的一则开庭公告显示,特斯拉(上海)有限公司已起诉宏利基金管理有限公司(下...
95亿消费电子大佬,拟“接盘”... 雷达财经出品 文|丁禹 编|孟帅 1月20日,港股上市公司 TCL电子联手索尼,抛出一则震动消费电子...
TikTok美国出售交易预计本... 据美国数字新闻媒体SEMAFOR报道,中美双方已达成协议,以美国投资者为主的财团将参与TikTok美...
金饰克价,1500元!“轻黄金... 近日,首饰黄金每克报价突破1500元引发热议。1月22日,中国证券报记者走访北京地区多家品牌金店看到...
2025年离境退税销售额同比增... 2025年,上海入境游迎来强势增长,全年累计接待入境游客创历史新高,达到936.02万人次,同比大幅...
邵东市举办“讲台育桃李,健康护... 大众卫生报·新湖南客户端1月20日讯(通讯员 曾秀丽 罗邵陵)为提升女性健康素养,强化自我保护意识,...
华翔股份大宗交易折价成交67.... 华翔股份01月22日大宗交易平台共发生4笔成交,合计成交量67.50万股,成交金额1150.88万元...
年内已经上涨37%,明早的英特... 今年以来,英特尔股价累计涨幅已达37%,1月21日收盘价报54.25美元,创2022年1月以来新高。...