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)文章
Java動(dòng)態(tài)調(diào)用類中方法代碼
這篇文章主要介紹了Java動(dòng)態(tài)調(diào)用類中方法代碼,需要的朋友可以參考下2014-02-02
TreeSet詳解和使用示例_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
TreeSet是一個(gè)有序的集合,它的作用是提供有序的Set集合。這篇文章主要介紹了TreeSet使用示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
RocketMQ實(shí)現(xiàn)消息分發(fā)的步驟
RocketMQ 實(shí)現(xiàn)消息分發(fā)的核心機(jī)制是通過 Topic、Queue 和 Consumer Group 的配合實(shí)現(xiàn)的,下面給大家介紹RocketMQ實(shí)現(xiàn)消息分發(fā)的步驟,感興趣的朋友一起看看吧2024-03-03
MyBatis中傳入?yún)?shù)parameterType類型詳解
這篇文章主要給大家介紹了關(guān)于MyBatis中傳入?yún)?shù)parameterType類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2018-04-04
SpringBoot打包發(fā)布到linux上(centos 7)的步驟
這篇文章主要介紹了SpringBoot打包發(fā)布到linux上(centos 7)的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2020-12-12
實(shí)例詳解Java中ThreadLocal內(nèi)存泄露
這一篇文章我們來分析一個(gè)Java中ThreadLocal內(nèi)存泄露的案例。分析問題的過程比結(jié)果更重要,理論結(jié)合實(shí)際才能徹底分析出內(nèi)存泄漏的原因。2016-08-08

