Springboot中@Value的使用詳解
Springboot通過(guò)@Value注解將配置文件中的屬性注入到容器內(nèi)組件中(可用在@Controller、@Service、@Configuration、@Component等Spring托管的類中)
1.普通字符串注入
例:yml中存在key:
name: zs
@Value注入
@Value("${name}") public String name;
當(dāng)yml中的name沒(méi)有對(duì)應(yīng)值時(shí),即yml中為:
name:
此時(shí)字符串name的值為""
可設(shè)置注入屬性的默認(rèn)值(當(dāng)配置文件中沒(méi)有此key時(shí),此默認(rèn)值生效),語(yǔ)法:
@Value("${name:zch}") public String name;// 此時(shí),若配置文件中沒(méi)有name這個(gè)key,變量name的值為zch
2.常用的int、boolean類型
例:
yml中存在key:
port: 8888
flag: true
@Value注入
@Value("${port}") public int port; @Value("${flag}") public boolean flag;
3.數(shù)組類型
例:
yml中存在key:
id: 1,2,3
@Value注入
@Value("${id}") public int[] idArray;
當(dāng)yml中id沒(méi)有對(duì)應(yīng)值時(shí),數(shù)組idArray為非null空數(shù)組,長(zhǎng)度為0
4.list類型
例:
yml中存在key:
id: 1,2,3
@Value注入
@Value("#{'${id}'.split(',')}") public List<String> idList;
當(dāng)yml中id沒(méi)有對(duì)應(yīng)值時(shí),集合idList長(zhǎng)度為1,存在值"" (原本以為是空集合,造成bug,特記錄)
5.map類型
例:
yml中存在key:
user: "{name: 'zs',age: '23'}" #注意此值用雙引號(hào)包裹
@Value注入
@Value("#{${user}}") public Map<String,String> userInfo;
當(dāng)yml中user沒(méi)有對(duì)應(yīng)值是,啟動(dòng)報(bào)錯(cuò)
#{}表示使用SpEL表達(dá)式,(此處是來(lái)自未來(lái)的文章超鏈接,正在路上)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMVC框架實(shí)現(xiàn)上傳圖片的示例代碼
本篇文章主要介紹了SpringMVC框架實(shí)現(xiàn)上傳圖片的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09SpringBoot @PropertySource與@ImportResource有什么區(qū)別
這篇文章主要介紹了SpringBoot @PropertySource與@ImportResource有什么區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01Spring Boot使用過(guò)濾器和攔截器分別實(shí)現(xiàn)REST接口簡(jiǎn)易安全認(rèn)證示例代碼詳解
這篇文章主要介紹了Spring Boot使用過(guò)濾器和攔截器分別實(shí)現(xiàn)REST接口簡(jiǎn)易安全認(rèn)證示例代碼,通過(guò)開發(fā)實(shí)踐,理解過(guò)濾器和攔截器的工作原理,需要的朋友可以參考下2018-06-06Java開源工具iText生成PDF簡(jiǎn)單實(shí)例
這篇文章主要介紹了Java開源工具iText生成PDF簡(jiǎn)單實(shí)例,本文給出了3段代碼實(shí)例,講解創(chuàng)建一個(gè)簡(jiǎn)單PDF文件,在PDF中添加表格以及在PDF中添加圖片,需要的朋友可以參考下2015-07-07java實(shí)現(xiàn)分段讀取文件并通過(guò)HTTP上傳的方法
這篇文章主要介紹了java實(shí)現(xiàn)分段讀取文件并通過(guò)HTTP上傳的方法,實(shí)例分析了java分段讀取文件及使用http實(shí)現(xiàn)文件傳輸?shù)南嚓P(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07swagger2和knife4j的詳細(xì)使用教程(入門級(jí))
最近項(xiàng)目中用到了Swagger2和knife4j作為接口文檔,所以下面這篇文章主要給大家介紹了關(guān)于swagger2和knife4j的詳細(xì)使用教程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09