SpringBoot 使用 @ConfigurationProperties 加载多层嵌套配置
前言项目更换文件服务器.新的配置信息加入了层级嵌套. 为显优雅将原本 Value 加载方式调整为 ConfigurationProperties. 这里记录一下.配置cnaws:enable:trueaccess-key-id:SDKDFNFJS99DFGsecret-access-key-id:ASDDD/5FFFSD/GGSFSDFf3:enable:trueservice-endpoint:https://ow.xcloud.com:10448endpoint-url:https://ow.xcloud.com:10448region:cn-east-1bucket-name:oww-sitdefault-time-to-live:1his-cnaws:falsecheck-bucket-exist:true承载类:packageio.github.diehao.common.file.hepler.config;importlombok.Data;importorg.springframework.boot.context.properties.ConfigurationProperties;ConfigurationProperties(prefixcnaws)DatapublicclassFileUploadProperties{privateBooleanenable;privateStringaccessKeyId;privateStringsecretAccessKeyId;privateF3Propertiesf3newF3Properties();publicFileUploadProperties(){this.enableBoolean.TRUE;this.accessKeyId;this.secretAccessKeyId;}DatapublicclassF3Properties{privateBooleanenable;privateBooleanisCnaws;privateBooleancheckBucketExist;privateStringserviceEndpoint;privateStringendpointUrl;privateStringregion;privateStringbucketName;publicF3Properties(){this.enableBoolean.TRUE;this.isCnawsBoolean.TRUE;this.checkBucketExistBoolean.TRUE;this.serviceEndpoint;this.endpointUrl;this.regioncn-east-1;this.bucketName;}}}流程注入Slf4jConfigurationEnableConfigurationProperties({FileUploadProperties.class})publicclassAutoConfiguration{privatefinalFileUploadPropertiesproperties;privatefinalFileUploadProperties.F3Propertiesf3Properties;publicFileTransferAutoConfiguration(FileUploadPropertiesfileUploadProperties){this.propertiesfileUploadProperties;this.f3PropertiesfileUploadProperties.getF3();}// ...}okk. 这就可以随意使用配置信息啦.