SpringBoot中使用@Value注解注入詳解
介紹
我們可以通過@Value將外部的值動態(tài)注入到Bean中。
@Value注解可以注入一些字段的普通屬性,并且會自動進行類型轉換
普通字符串注入
例:yml中存在key:name: zs
@Value注入
@Value("${name}")
public String name;當yml中的name沒有對應值時,即yml中為:name:
此時字符串name的值為""
可設置注入屬性的默認值(當配置文件中沒有此key時,此默認值生效),語法:
@Value("${name:zch}")
public String name;// 此時,若配置文件中沒有name這個key,變量name的值為zch常用的int、boolean類型
例:yml中存在key:
port: 8888 flag: true
@Value注入
@Value("${port}")
public int port;
@Value("${flag}")
public boolean flag;數(shù)組類型注入
例:yml中存在key:id: 1,2,3
@Value注入:
@Value("${id}")
public int[] idArray;list類型
例:yml中存在key:id: 1,2,3
@Value注入:
@Value("#{'${id}'.split(',')}")
public List<String> idList;map類型
例:yml中存在key:
user: "{name: 'zs',age: '23'}" #注意此值用雙引號包裹
@Value注入
@Value("#{${user}}")
public Map<String,String> userInfo;當yml中user沒有對應值是,啟動報錯
操作系統(tǒng)相關
@Value("#{systemProperties['os.name']}")
private String systemPropertiesName; // 注入操作系統(tǒng)屬性其它bean屬性
@Value("#{beanInject.another}")
private String fromAnotherBean; // 注入其他Bean屬性:注入beanInject對象的屬性another,類具體定義見下面文件資源注入
@Value("classpath:data/service/sbusiness.json")
private Resource sbusinessJson;
@Value("classpath:data/service/sbusinessDesc.txt")
private Resource sbusinessDesc;
@Value("classpath:data/service/alarmDesc.txt")
private Resource alarmDesc; 到此這篇關于SpringBoot中使用@Value注解注入詳解的文章就介紹到這了,更多相關SpringBoot中的@Value內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringCloud服務接口調用OpenFeign及使用詳解
這篇文章主要介紹了SpringCloud服務接口調用——OpenFeign,在學習Ribbon時,服務間調用使用的是RestTemplate+Ribbon實現(xiàn),而Feign在此基礎上繼續(xù)進行了封裝,使服務間調用變得更加方便,需要的朋友可以參考下2023-04-04
Java.lang.ArrayIndexOutOfBoundsException的報錯解決
Java.lang.ArrayIndexOutOfBoundsException是一個常見的錯誤,通常由于訪問超出數(shù)組邊界的索引值導致,本文就詳細的介紹了解決方法,具有一定的參考價值,感興趣的可以了解一下2024-09-09
SpringBoot?替換?if?的參數(shù)校驗示例代碼
Spring?Validation是對hibernate?validation的二次封裝,用于支持spring?mvc參數(shù)自動校驗,接下來,我們以spring-boot項目為例,介紹Spring?Validation的使用,需要的朋友可以參考下2022-12-12

