SpringBoot讀取properties文件配置項(xiàng)過程解析
使用SpringBoot開發(fā)過程中,難免需要配置相關(guān)數(shù)據(jù)項(xiàng),然后在Java代碼中@Autowired注入并使用。
我們應(yīng)該如何讀取properties文件中的配置項(xiàng)呢?
基于SpringBoot項(xiàng)目,配置項(xiàng)一般都存放在application.properties文件中。有2種常用的方法:
1.使用@Value注解標(biāo)注在Field上面
2.使用@ConfigurationProperties注解標(biāo)注在類或者方法上
為了講解方便,附上application.properties文件配置好的數(shù)據(jù)項(xiàng)
如下圖所示:
我們可以看到1~3行的配置項(xiàng),有一個(gè)共同的特點(diǎn):有相同的前綴spring.datasource,既然具備這個(gè)特點(diǎn),那么我們就可以定義一個(gè)class,里面有3個(gè)fields:userName、password和url。
然后在類上使用@ConfigurationProperties標(biāo)注并指定前綴spring.datasource即可。最后,且非常重要的是,SpringBoot的主入口類 XxxApplication類需要使用@EnableAutoConfiguration進(jìn)行標(biāo)注(在SpringBoot 2.x可省略)!
下面附上示例:
@ConfigurationProperties(prefix = "spring.datasource") public class DataSourceProperties { private String userName; private String password; private String url; }
那么,類似第5行的 web.upload.path配置項(xiàng),又應(yīng)該如何讀取呢?
其實(shí),我們可以使用@Value完成屬性值注入field。參見以下代碼塊:
@Value("${web.upload.path}")
private String webUploadPath;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
舉例講解設(shè)計(jì)模式中的訪問者模式在Java編程中的運(yùn)用
這篇文章主要介紹了舉例講解設(shè)計(jì)模式中的訪問者模式在Java編程中的運(yùn)用,訪問者模式是一種將算法與對(duì)象結(jié)構(gòu)分離的軟件設(shè)計(jì)模式,需要的朋友可以參考下2016-05-05MyBatis 如何配置多個(gè)別名 typeAliasesPackage
這篇文章主要介紹了MyBatis 如何配置多個(gè)別名 typeAliasesPackage,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java中的MapStruct知識(shí)點(diǎn)總結(jié)
這篇文章主要介紹了Java中的MapStruct知識(shí)點(diǎn)總結(jié),MapStruct是一個(gè)Java注解處理器,用于生成類型安全的映射代碼,它可以自動(dòng)處理源對(duì)象和目標(biāo)對(duì)象之間的映射,減少了手動(dòng)編寫重復(fù)的映射代碼的工作量,需要的朋友可以參考下2023-10-10spring batch使用reader讀數(shù)據(jù)的內(nèi)存容量問題詳解
這篇文章主要介紹了spring batch使用reader讀數(shù)據(jù)的內(nèi)存容量問題詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07SpringBoot之@ConditionalOnProperty注解使用方法
在平時(shí)業(yè)務(wù)中,我們需要在配置文件中配置某個(gè)屬性來決定是否需要將某些類進(jìn)行注入,讓Spring進(jìn)行管理,而@ConditionalOnProperty能夠?qū)崿F(xiàn)該功能,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05SpringBoot基于Mybatis攔截器和JSqlParser實(shí)現(xiàn)數(shù)據(jù)隔離
本文將介紹如何在 Spring Boot 項(xiàng)目中利用Mybatis的強(qiáng)大攔截器機(jī)制結(jié)合JSqlParser,一個(gè)功能豐富的 SQL 解析器,來輕松實(shí)現(xiàn)數(shù)據(jù)隔離的目標(biāo),本文根據(jù)示例展示如何根據(jù)當(dāng)前的運(yùn)行環(huán)境來實(shí)現(xiàn)數(shù)據(jù)隔離,需要的朋友可以參考下2024-04-04