Spring @Value獲取數組、集合、map等不同結構方法

Spring 架構中,可以使用@Value注解從配置文件或命令行參數中獲取集合數據。

各種示例

  • 獲取基礎類型

當沒有配置時,可以設置默認值。無默認值時會拋出空值異常。?

    @Value("${lizz.timeout:3000}")private int timeout;@Value("${lizz.key:lizzkey}")private String key;
  • 獲取列表數據
lizz.list=a,b,c
@Value("${lizz.list}")
private List<String> list;@Value("${lizz.list}")
private String[] arrStr;
  • 獲取Map數據
lizz.map={"key1":"value1","key2":"value2"}
@Value("#{${lizz.map}}")
private Map<String, String> map;
  • 使用SpEL表達式
lizz.list2 = 1;2;3
    @Value("#{'${lizz.list2}'.split(';')}")private List<Integer> integerList;

驗證

lizz.list1 = a,b,c
lizz.list2 = 1;2;3
lizz.map = {"key1":"value1","key2":"value2"}
@Component
public class MyApplication {@Value("${lizz.list1}")private String str;@Value("${lizz.list1}")private List<String> list1;@Value("${lizz.list1}")private String[] arrStr;@Value("#{${lizz.map}}")private Map<String, String> map1;/*獲取lizz.list2,并對;號進行分隔生成list*/@Value("#{'${lizz.list2}'.split(';')}")private List<Integer> integerList;public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);System.out.println("str=" + str);System.out.println("list1=" + list1);System.out.println("arrStr=" + arrStr);System.out.println("map1=" + map1);System.out.println("integerList=" + integerList);}
}
str=a,b,c
list1=[a, b, c]
arrStr=[Ljava.lang.String;@79d3c655
map1={key1=value1, key2=value2}
integerList=[1, 2, 3]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43424.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43424.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43424.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python28-11 CatBoost梯度提升算法

CatBoost&#xff08;Categorical Boosting&#xff09;是由Yandex(一家俄羅斯互聯網企業&#xff0c;旗下的搜索引擎曾在俄國內擁有逾60%的市場占有率&#xff0c;同時也提供其他互聯網產品和服務)開發的一種基于梯度提升的機器學習算法。CatBoost特別擅長處理類別特征&#x…

什么是ThingsKit物聯網平臺?

在信息化時代的浪潮中&#xff0c;物聯網&#xff08;IoT&#xff09;作為新一代信息技術的核心&#xff0c;已經逐漸滲透到我們生活的方方面面。而在這個大背景下&#xff0c;Thingskit物聯網平臺以其獨特的技術優勢和應用場景&#xff0c;成為了物聯網領域的一顆璀璨明星。本…

AI和人工智能是啥關系?

AI&#xff08;人工智能&#xff09;與通用人工智能&#xff08;AGI&#xff09;是人工智能領域中的兩個重要概念&#xff0c;它們在定義、技術基礎以及應用領域等方面有所區別。人工智能&#xff08;AI&#xff09;&#xff0c;是指使計算機和其他機器模擬人類智能的技術&…

3.flink架構

目錄 概述 概述 Flink是一個分布式的帶有狀態管理的計算框架&#xff0c;為了執行流應用程序&#xff0c;可以和 Hadoop YARN 、K8s 進行整合&#xff0c;當然也可以是一個 standalone 。 官方地址&#xff1a;速遞 k8s 是未來的一種趨勢&#xff0c;對資源管控能力強。

Windows 控制中心在哪里打開,七種方法教會你

在 Windows 操作系統中&#xff0c;控制中心的概念可能稍有些混淆&#xff0c;因為 Windows 通常使用“控制面板”這一術語來指代用于配置系統設置和更改硬件及軟件設置的中心區域。 不過&#xff0c;隨著 Windows 的更新&#xff0c;微軟也在逐步將一些設置遷移到“設置”應用…

關于Linux的操作作業!24道題

&#x1f3c6;本文收錄于「Bug調優」專欄&#xff0c;主要記錄項目實戰過程中的Bug之前因后果及提供真實有效的解決方案&#xff0c;希望能夠助你一臂之力&#xff0c;幫你早日登頂實現財富自由&#x1f680;&#xff1b;同時&#xff0c;歡迎大家關注&&收藏&&…

js如何要讓一個對象繼承另一個對象的原型屬性和方法

js如何要讓一個對象繼承另一個對象的原型屬性和方法 1、使用 Object.create() const parent {greet: function() {console.log("Hello from parent!");} };const child Object.create(parent); child.greet(); // 輸出: Hello from parent!2、使用 proto 屬性 …

【算法】貪婪算法介紹及實現方法

貪婪算法簡介 貪婪算法&#xff08;Greedy Algorithm&#xff09;是一種在每一步選擇中都采取當前狀態下最好或最優&#xff08;即最有利&#xff09;的選擇&#xff0c;從而希望導致結果是全局最好或最優的算法。貪婪算法通常用于解決優化問題&#xff0c;如最小化成本、最大…

Tomcat打破雙親委派模型的方式

文章目錄 1、前言2、標準的雙親委派模型3、Tomcat的類加載器架構4、Tomcat打破雙親委派模型的方式5、總結 1、前言 雙親委派模型是一種類加載機制&#xff0c;它確保了類加載器層次結構中的父加載器先于子加載器嘗試加載類。這種機制有助于防止類的重復加載和類之間的不兼容。…

MySQL數據庫基本操作-DDL和DML

1. DDL解釋 DDL(Data Definition Language)&#xff0c;數據定義語言&#xff0c;該語言部分包括以下內容&#xff1a; 對數據庫的常用操作對表結構的常用操作修改表結構 2. 對數據庫的常用操作 功能SQL查看所有的數據庫show databases&#xff1b;查看有印象的數據庫show d…

16 - Python語言進階

Python語言進階 數據結構和算法 算法&#xff1a;解決問題的方法和步驟 評價算法的好壞&#xff1a;漸近時間復雜度和漸近空間復雜度。 漸近時間復雜度的大O標記&#xff1a; - 常量時間復雜度 - 布隆過濾器 / 哈希存儲 - 對數時間復雜度 - 折半查找&#xff08;二分查找&am…

關于TCP的三次握手流程

三次握手流程 第一次握手&#xff1a;客戶端向服務端發起建立連接請求&#xff0c;客戶端會隨機生成一個起始序列號x&#xff0c;客戶端向服務端發送的字段包含標志位SYN1&#xff0c;序列號segx。第一次握手后客戶端的狀態為SYN-SENT。此時服務端的狀態為LISTEN 第二次握手&…

使用耳機殼UV樹脂制作私模定制耳塞的價格如何呢?

使用耳機殼UV樹脂制作私模定制耳塞的價格如何呢&#xff1f; 耳機殼UV樹脂制作私模定制耳塞的價格因多個因素而異&#xff0c;如材料、工藝、設計、定制復雜度等。 根據我目前所了解到的信息&#xff0c;使用UV樹脂制作私模定制耳塞的價格可能在數百元至數千元不等。具體價格…

LVS+Nginx高可用集群---Nginx進階與實戰

1.Nginx中解決跨域問題 兩個站點的域名不一樣&#xff0c;就會有一個跨域問題。 跨域問題&#xff1a;了解同源策略&#xff1a;協議&#xff0c;域名&#xff0c;端口號都相同&#xff0c;只要有一個不相同那么就是非同源。 CORS全稱Cross-Origin Resource Sharing&#xff…

大模型知識大全1-基礎知識【大模型】

文章目錄 大模型簡介以后的介紹流程基礎知識訓練流程介紹pre-train對齊和指令微調規模拓展涌現能力 系統學習大模型的記錄https://github.com/LLMBook-zh/LLMBook-zh.github.io 大模型簡介 歷史我就不寫了&#xff0c;簡單說說大模型的應用和特點。人類使用大模型其實分為兩個…

linux高級編程(OSI/UDP(用戶數據報))

OSI七層模型&#xff1a; OSI 模型 --> 開放系統互聯模型 --> 分為7層&#xff1a; 理想模型 --> 尚未實現 1.應用層 QQ 應用程序的接口 2.表示層 加密解密 gzip 將接收的數據進行解釋&#xff…

【shell】—雙引號引用變量

文章目錄 一、舉例—單、雙引號引用變量的結果差異二、使用雙引號引用變量的場景1、使用雙引號—可以防止字符串被分割2、使用雙引號—特殊字符變為普通字符3、使用雙引號—保存原始命令的輸出格式4、使用雙引號—具有強約束的單引號變為普通單引號字符5、注意 一、舉例—單、雙…

挑戰杯 opencv python 深度學習垃圾圖像分類系統

0 前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 &#x1f6a9; opencv python 深度學習垃圾分類系統 &#x1f947;學長這里給一個題目綜合評分(每項滿分5分) 難度系數&#xff1a;3分工作量&#xff1a;3分創新點&#xff1a;4分 這是一個較為新穎的競…

昇思25天學習打卡營第13天|應用實踐之ResNet50遷移學習

基本介紹 今日的應用實踐的模型是計算機實踐領域中十分出名的模型----ResNet模型。ResNet是一種殘差網絡結構&#xff0c;它通過引入“殘差學習”的概念來解決隨著網絡深度增加時訓練困難的問題&#xff0c;從而能夠訓練更深的網絡結構。現很多網絡極深的模型或多或少都受此影響…