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