Spring中@PropertySource和@Value注解詳解
前言
本篇文章主要介紹在Spring中想要獲取yml或者properties配置文件的配置信息。
@PropertySource 和 @Value 注解屬性介紹
@PropertySource 注解
屬性名稱(chēng) | 介紹 |
value | 指定配置文件的位置,它是一個(gè)字符串?dāng)?shù)組,可以配置多個(gè)配置文件的位置 |
name | 屬性用于指定屬性源的名稱(chēng) |
ignoreResourceNotFound | 用于指定是否忽略未找到的資源 如果設(shè)置為 true,那么當(dāng)指定的配置文件不存在時(shí),將不會(huì)拋出異常 默認(rèn)值是false |
encoding | 指定配置文件的編碼 |
value指定配置文件的位置,它是一個(gè)字符串?dāng)?shù)組,可以配置多個(gè)配置文件的位置name屬性用于指定屬性源的名稱(chēng)ignoreResourceNotFound用于指定是否忽略未找到的資源 如果設(shè)置為 true,那么當(dāng)指定的配置文件不存在時(shí),將不會(huì)拋出異常 默認(rèn)值是falseencoding指定配置文件的編碼 @Value 注解 屬性名稱(chēng)介紹value用來(lái)讀取屬性值
@Value 注解
屬性名稱(chēng) | 介紹 |
value | 用來(lái)讀取屬性值 |
代碼案例
yml配置文件:
user: name: "張三" age: 18
代碼實(shí)現(xiàn)如下:
@Component @ToString @Setter @Getter @PropertySource("classpath:application.yml") public class UserInfo { @Value("${user.name}") private String name; @Value("${user.age}") private int age; }
當(dāng)沒(méi)找到配置文件中的屬性時(shí)如何處理
如果在application.yml配置文件中的user下沒(méi)有找到name或者age屬性,spring會(huì)抱一個(gè)錯(cuò),我們可以給一個(gè)默認(rèn)值,來(lái)不讓spring報(bào)錯(cuò),以下是代碼實(shí)現(xiàn):
代碼實(shí)現(xiàn)如下:
@Component @ToString @Setter @Getter @PropertySource("classpath:application.yml") public class UserInfo { @Value("${user.name:張三}") private String name; @Value("${user.age:18}") private int age; }
這樣,當(dāng)沒(méi)有找到name的時(shí)候就把默認(rèn)值設(shè)置成張三,沒(méi)找到age默認(rèn)值就設(shè)置成18。
到此這篇關(guān)于Spring中@PropertySource和@Value注解詳解的文章就介紹到這了,更多相關(guān)@PropertySource和@Value注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring結(jié)合WebSocket實(shí)現(xiàn)實(shí)時(shí)通信的教程詳解
WebSocket?是基于TCP/IP協(xié)議,獨(dú)立于HTTP協(xié)議的通信協(xié)議,本文將使用Spring結(jié)合WebSocket實(shí)現(xiàn)實(shí)時(shí)通信功能,有需要的小伙伴可以參考一下2024-01-01Java中Mybatis,SpringMVC,Spring的介紹及聯(lián)系
這篇文章主要為大家詳細(xì)介紹了Java中Mybatis,SpringMVC,Spring的介紹及聯(lián)系,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10存儲(chǔ)過(guò)程創(chuàng)建及springboot代碼調(diào)用存儲(chǔ)過(guò)程方式
文章介紹了如何在Navicat中創(chuàng)建存儲(chǔ)過(guò)程,并在Spring Boot項(xiàng)目中調(diào)用存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程創(chuàng)建步驟包括選擇函數(shù)類(lèi)型、自定義函數(shù)名、添加參數(shù)等,在Spring Boot中調(diào)用存儲(chǔ)過(guò)程時(shí),可以通過(guò)JdbcTemplate或MyBatis等工具進(jìn)行2024-11-11Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之KMP算法
在很多地方也都經(jīng)??吹街v解KMP算法的文章,看久了好像也知道是怎么一回事,但總感覺(jué)有些地方自己還是沒(méi)有完全懂明白。這兩天花了點(diǎn)時(shí)間總結(jié)一下,有點(diǎn)小體會(huì),我希望可以通過(guò)我自己的語(yǔ)言來(lái)把這個(gè)算法的一些細(xì)節(jié)梳理清楚,也算是考驗(yàn)一下自己有真正理解這個(gè)算法2022-02-02Java使用TCP實(shí)現(xiàn)在線聊天的示例代碼
這篇文章主要介紹了Java使用TCP實(shí)現(xiàn)在線聊天的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(58)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-08-08Spring?AOP實(shí)現(xiàn)聲明式事務(wù)機(jī)制源碼解析
這篇文章主要為大家介紹了Spring?AOP實(shí)現(xiàn)聲明式事務(wù)機(jī)制源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Java二維碼登錄流程實(shí)現(xiàn)代碼(包含短地址生成,含部分代碼)
近年來(lái),二維碼的使用越來(lái)越風(fēng)生水起,本篇文章主要介紹了Java二維碼登錄流程實(shí)現(xiàn)代碼,其中包含短地址生成,有興趣的可以了解一下。2016-12-12