Spring中@PropertySource和@Value注解詳解
前言
本篇文章主要介紹在Spring中想要獲取yml或者properties配置文件的配置信息。
@PropertySource 和 @Value 注解屬性介紹
@PropertySource 注解
屬性名稱 | 介紹 |
value | 指定配置文件的位置,它是一個字符串數(shù)組,可以配置多個配置文件的位置 |
name | 屬性用于指定屬性源的名稱 |
ignoreResourceNotFound | 用于指定是否忽略未找到的資源 如果設置為 true,那么當指定的配置文件不存在時,將不會拋出異常 默認值是false |
encoding | 指定配置文件的編碼 |
value指定配置文件的位置,它是一個字符串數(shù)組,可以配置多個配置文件的位置name屬性用于指定屬性源的名稱ignoreResourceNotFound用于指定是否忽略未找到的資源 如果設置為 true,那么當指定的配置文件不存在時,將不會拋出異常 默認值是falseencoding指定配置文件的編碼 @Value 注解 屬性名稱介紹value用來讀取屬性值
@Value 注解
屬性名稱 | 介紹 |
value | 用來讀取屬性值 |
代碼案例
yml配置文件:
user: name: "張三" age: 18
代碼實現(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; }
當沒找到配置文件中的屬性時如何處理
如果在application.yml配置文件中的user下沒有找到name或者age屬性,spring會抱一個錯,我們可以給一個默認值,來不讓spring報錯,以下是代碼實現(xiàn):
代碼實現(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; }
這樣,當沒有找到name的時候就把默認值設置成張三,沒找到age默認值就設置成18。
到此這篇關于Spring中@PropertySource和@Value注解詳解的文章就介紹到這了,更多相關@PropertySource和@Value注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring結合WebSocket實現(xiàn)實時通信的教程詳解
WebSocket?是基于TCP/IP協(xié)議,獨立于HTTP協(xié)議的通信協(xié)議,本文將使用Spring結合WebSocket實現(xiàn)實時通信功能,有需要的小伙伴可以參考一下2024-01-01Java中Mybatis,SpringMVC,Spring的介紹及聯(lián)系
這篇文章主要為大家詳細介紹了Java中Mybatis,SpringMVC,Spring的介紹及聯(lián)系,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10存儲過程創(chuàng)建及springboot代碼調(diào)用存儲過程方式
文章介紹了如何在Navicat中創(chuàng)建存儲過程,并在Spring Boot項目中調(diào)用存儲過程,存儲過程創(chuàng)建步驟包括選擇函數(shù)類型、自定義函數(shù)名、添加參數(shù)等,在Spring Boot中調(diào)用存儲過程時,可以通過JdbcTemplate或MyBatis等工具進行2024-11-11Java 數(shù)據(jù)結構與算法系列精講之KMP算法
在很多地方也都經(jīng)??吹街v解KMP算法的文章,看久了好像也知道是怎么一回事,但總感覺有些地方自己還是沒有完全懂明白。這兩天花了點時間總結一下,有點小體會,我希望可以通過我自己的語言來把這個算法的一些細節(jié)梳理清楚,也算是考驗一下自己有真正理解這個算法2022-02-02Java二維碼登錄流程實現(xiàn)代碼(包含短地址生成,含部分代碼)
近年來,二維碼的使用越來越風生水起,本篇文章主要介紹了Java二維碼登錄流程實現(xiàn)代碼,其中包含短地址生成,有興趣的可以了解一下。2016-12-12