午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

Spring 配置文件字段注入到List、Map

瀏覽:218日期:2023-08-07 17:54:42

今天給大家分享冷門但是有很實(shí)小知識(shí),Spring 配置文件注入list、map、字節(jié)流。

list 注入

properties文件

user.id=3242,2323,1

使用spring el表達(dá)式

@Value('#{’${user.id}’.split(’,’)}')private List list;

yaml 文件

在yml配置文件配置數(shù)組方式

number: arrays: - One - Two - Three

@Value('${number.arrays}')private List list

雖然網(wǎng)上都說,這樣可以注入,我親身實(shí)踐過了,肯定是不能的。會(huì)拋出 Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder ’number.arrays’ in value '${number.arrays}'異常。要想注入必須要使用

@ConfigurationProperties@ConfigurationProperties(prefix = 'number')public class AgentController { private List arrays; public List getArrays() { return arrays; } public void setArrays(List arrays) { this.arrays = arrays; } @GetMapping('/s') public List lists(){ return arrays; }

不是想這么麻煩,可以像properties文件寫法,使用el表達(dá)式即可

number: arrays: One,Two,Three

@Value('#{’${number.arrays}’.split(’,’)}')private List arrays;

注入文件流

@Value('classpath: application.yml') private Resource resource; // 占位符 @Value('${file.name}') private Resource resource2; @GetMapping('/s') public String lists() throws IOException { return IOUtils.toString(resource.getInputStream(),'UTF-8'); }

從類路徑加載application.yml文件將文件注入到org.springframework.core.io.Resource ,可以使用getInputStream()方法獲取流。比起使用類加載器獲取路徑再去加載文件的方式,優(yōu)雅、簡(jiǎn)單不少。

Map Key Value 注入

properties

resource.code.mapper={x86:'hostIp'}

@Value('#{${resource.code.mapper}}')private Map<String, String> mapper;

成功注入

yaml

在yaml文件中,使用@Value不能注入Map 實(shí)例的,要借助@ConfigurationProperties 才能實(shí)現(xiàn)。

@ConfigurationProperties(prefix = 'blog')public class AgentController { private Map website; public Map getWebsite() { return website; } public void setWebsite(Map website) { this.website = website; } @GetMapping('/s') public String lists() throws IOException { return JsonUtil.toJsonString(website); }

配置文件

blog: website: juejin: https://juejin.im jianshu: https://jianshu.com sifou: https://segmentfault.com/

可以看出@ConfigurationProperties注入功能遠(yuǎn)比@Value強(qiáng),不僅能注入List、Map這些,還能注入對(duì)象屬性,靜態(tài)內(nèi)部類屬性,這個(gè)在Spring Boot Redis模塊 org.springframework.boot.autoconfigure.data.redis.RedisProperties體現(xiàn)出來。

區(qū)別

區(qū)別 @ConfigurationProperties @Value 類型 各種復(fù)制類型屬性Map、內(nèi)部類 只支持簡(jiǎn)單屬性 spEl表達(dá)式 不支持 支持 JSR303數(shù)據(jù)校驗(yàn) 支持 不支持 功能 一個(gè)列屬性批量注入 單屬性注入

到此這篇關(guān)于Spring 配置文件字段注入到List、Map的文章就介紹到這了,更多相關(guān)Spring 文件字段注入到List、Map內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 成人天堂网 | 国产精品91在线观看 | 国产成人精品免费 | 成年人免费黄色 | 精品国产乱码久久久久久1区2区 | av网站大全在线 | 亚洲少妇一区 | 欧美片 | 精品婷婷 | 欧美巨大荫蒂茸毛毛人妖 | 中文字幕成人网 | 亚洲欧美自拍偷拍 | 在线观看视频你懂的 | 亚洲天堂男人网 | 99久久精品国产一区二区三区 | 国产v片在线观看 | 中文字幕视频二区 | 国产欧美日韩在线观看 | 992tv成人免费观看 | 午夜一区二区三区在线观看 | 天天干天天狠 | 天堂中文在线视频 | 日韩a√| 欧美精品在线免费观看 | 99成人精品 | 久久国色 | 亚洲精品字幕在线观看 | 欧美网站在线 | 国产在线观看91 | 亚洲国产成人自拍 | h成人在线 | 国产欧美一区二区三区在线观看视频 | 九九热在线播放 | 欧美大片在线看免费观看 | 色播一区| 一区二区三区黄 | 一区二区三区四区在线播放 | 黄色片免费 | 超碰97自拍 | 欧美视频一区在线观看 | 国产精品嫩草影院桃色 |