@ConfigurationProperties及@NestedConfigurationProperty的使用解讀
創(chuàng)建一個(gè)springboot應(yīng)用(默認(rèn)忽略)
application.properties的自定義配置
spring.datasources.test.username=admin spring.datasources.test.password=123456 spring.datasources.test.url=url spring.datasources.test.driver=com.mysql spring.datasources.duration=5
@ConfigurationProperties以及@NestedConfigurationProperty
使用進(jìn)行屬性綁定
package com.mn.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.boot.convert.DurationUnit;
import org.springframework.stereotype.Component;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
/**
* @description 第一種綁定配置文件的方式
* @NestedConfigurationProperty 嵌套配置屬性
* 如果在綁定屬性文件的類中 的屬性是外部的類(不是在本類中)
* 那么就可以使用這個(gè)嵌套屬性類解決
* 需要注意的是
* 配置文件是 :
* spring.datasources.test.username=admin
* spring.datasources.test.password=123456
* spring.datasources.test.url=url
* spring.datasources.test.driver=com.mysql
* 那么 @ConfigurationProperties 前綴是spring.datasource
* @NestedConfigurationProperty 標(biāo)注的屬性上的屬性名稱 必須是 test
* <p>
* 詳解:
* @ConfigurationProperties(value = "spring.datasources", ignoreInvalidFields = true, ignoreUnknownFields = false)
* value 代表的是配置文件中的前綴
* ignoreInvalidFields 表示忽略無(wú)效的字段 當(dāng)我們?yōu)閷傩耘渲缅e(cuò)誤時(shí),我們不希望springboot程序啟動(dòng)失敗 故此設(shè)置為false
* ignoreUnknownFields 表示忽略未知的字段 默認(rèn)是true 當(dāng)我們配置的屬性沒(méi)有綁定到 @ConfigurationProperties這個(gè)類時(shí),我們希望程序報(bào)錯(cuò)
**/
@Data
@ConfigurationProperties(value = "spring.datasources", ignoreInvalidFields = true, ignoreUnknownFields = false)
@Component
public class DataSourceProperties {
@NestedConfigurationProperty
private DataSource test;
/**
* 不寫(xiě)單位默認(rèn)按照毫秒
*/
@DurationUnit(ChronoUnit.DAYS)
private Duration duration;
}
用到的綁定類
@Data
public class DataSource {
private String url;
private String username;
private String password;
private String driver;
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 將SpringBoot屬性配置類@ConfigurationProperties注冊(cè)為Bean的操作方法
- SpringBoot @ConfigurationProperties + Validation實(shí)現(xiàn)啟動(dòng)期校驗(yàn)解決方案
- 解讀@ConfigurationProperties和@value的區(qū)別
- springboot使用@ConfigurationProperties實(shí)現(xiàn)自動(dòng)綁定配置參數(shù)屬性
- 解讀@ConfigurationProperties的基本用法
- SpringBoot中的@ConfigurationProperties注解的使用
- SpringBoot中@ConfigurationProperties自動(dòng)獲取配置參數(shù)的流程步驟
相關(guān)文章
kafka生產(chǎn)者和消費(fèi)者的javaAPI的示例代碼
這篇文章主要介紹了kafka生產(chǎn)者和消費(fèi)者的javaAPI的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Spring boot創(chuàng)建自定義starter的完整步驟
這篇文章主要給大家介紹了關(guān)于Spring boot創(chuàng)建自定義starter的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
springmvc Rest風(fēng)格介紹及實(shí)現(xiàn)代碼示例
這篇文章主要介紹了springmvc Rest風(fēng)格介紹及實(shí)現(xiàn)代碼示例,rest風(fēng)格簡(jiǎn)潔,分享了HiddenHttpMethodFilter 的源碼,通過(guò)Spring4.0實(shí)現(xiàn)rest風(fēng)格源碼及簡(jiǎn)單錯(cuò)誤分析,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
解決mybatis 執(zhí)行mapper的方法時(shí)報(bào)空指針問(wèn)題
這篇文章主要介紹了解決mybatis 執(zhí)行mapper的方法時(shí)報(bào)空指針問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java實(shí)現(xiàn)多線程大批量同步數(shù)據(jù)(分頁(yè))
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多線程大批量同步數(shù)據(jù)(分頁(yè)),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
Java實(shí)現(xiàn)調(diào)用接口API并返回?cái)?shù)據(jù)
這篇文章主要介紹了Java實(shí)現(xiàn)調(diào)用接口API并返回?cái)?shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
java中@EnableAutoConfiguration注解使用
在Spring Boot框架中,@EnableAutoConfiguration是一種非常重要的注解,本文就來(lái)介紹一下java中@EnableAutoConfiguration注解使用,感興趣的可以了解一下2023-11-11
Springboot使用zxing實(shí)現(xiàn)二維碼生成和解析
ZXing支持各種條形碼,二維碼掃描,由多個(gè)模塊組成,?而且支持PC端,移動(dòng)端,本文將利用zxing實(shí)現(xiàn)二維碼生成和解析,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10
Java單鏈表的簡(jiǎn)單操作實(shí)現(xiàn)教程
這篇文章主要給大家介紹了關(guān)于Java單鏈表的簡(jiǎn)單操作實(shí)現(xiàn)教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

