亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

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

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

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

list 注入

properties文件

user.id=3242,2323,1

使用spring el表達式

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

yaml 文件

在yml配置文件配置數組方式

number: arrays: - One - Two - Three

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

雖然網上都說,這樣可以注入,我親身實踐過了,肯定是不能的。會拋出 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表達式即可

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()方法獲取流。比起使用類加載器獲取路徑再去加載文件的方式,優雅、簡單不少。

Map Key Value 注入

properties

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

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

成功注入

yaml

在yaml文件中,使用@Value不能注入Map 實例的,要借助@ConfigurationProperties 才能實現。

@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注入功能遠比@Value強,不僅能注入List、Map這些,還能注入對象屬性,靜態內部類屬性,這個在Spring Boot Redis模塊 org.springframework.boot.autoconfigure.data.redis.RedisProperties體現出來。

區別

區別 @ConfigurationProperties @Value 類型 各種復制類型屬性Map、內部類 只支持簡單屬性 spEl表達式 不支持 支持 JSR303數據校驗 支持 不支持 功能 一個列屬性批量注入 單屬性注入

到此這篇關于Spring 配置文件字段注入到List、Map的文章就介紹到這了,更多相關Spring 文件字段注入到List、Map內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 美国毛片网站 | 黄色美女视频免费看 | 日本成a人片在线观看网址 日本成年人视频网站 | 欧美日本视频一区 | 日本三本道 | 国产精品久久久久免费a∨ 国产精品久久久久免费视频 | 成人交性视频免费看 | 91最新地址永久入口 | 热99re久久精品2久久久 | 97超视频在线观看 | 欧美一级毛片日本 | 亚洲精品美女 | 91久久国产露脸精品免费 | 国产精品国内免费一区二区三区 | 不卡一区二区在线观看 | 鲁大师成人精品视频 | 免费观看成人久久网免费观看 | 久草com | 男女男免费视频网站国产 | 久久亚洲精品一区成人 | 日本欧美一级aaaaa毛片 | 中国一级毛片特级毛片 | 精品午夜一区二区三区在线观看 | 国产v片成人影院在线观看 国产v片在线播放免费观 | 91精品视频在线播放 | 午夜在线成人 | 日本一区二区三区不卡视频中文字幕 | 国产精品女在线观看 | 免费观看女人一摸全是水 | 国产高清免费视频 | 国产一区欧美二区 | 亚洲国产精品久久人人爱 | 国产午夜在线观看视频播放 | 天堂在线www网亚洲 天堂在线视频网站 | 香蕉久久一区二区不卡无毒影院 | 欧美一线高本道高清在线 | 男女无遮挡拍拍拍免费1000 | 三级网站在线 | 毛片a级三毛片免费播放 | 免费看美女午夜大片 | 日本xxxxx黄区免费看动漫 |