最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot超詳細講解@Value注解

 更新時間:2022年07月18日 10:48:10   作者:蹲街式等待  
在使用spring框架的項目中,@Value是經(jīng)常使用的注解之一。作用是將配置文件中的鍵對應的值分配給某類內(nèi)帶注解的屬性。本文使您系統(tǒng)地了解@Value的用法。在使用Spring框架的項目中@Value是經(jīng)常使用的注解之一,其作用是將配置文件中的鍵對應的值分配給某類內(nèi)帶注解的屬性

一、非配置文件注入

1、注入普通字符串

直接附在屬性名上,在 Bean 初始化時,會賦初始值。

@Value("admin")
private String name;

2、注入JAVA系統(tǒng)變量

@Value("#{systemProperties['os.name']}")
private String osName;

這里的 osName 是 JAVA 的 System.getProperties() 方法獲取的JAVA環(huán)境變量 ,查看java系統(tǒng)變量的方法如下:

public String getproperties() {
	//獲取所有的屬性
    Properties properties = System.getProperties();
    //為了看看系統(tǒng)的屬性有幾個,加了一個計數(shù)器
    //遍歷所有的屬性
    for (String key : properties.stringPropertyNames()) {
        System.out.println(key + "=" + properties.getProperty(key));
    }
    return null;
}

3、注入表達式

@Value("#{ T(java.lang.Math).random() * 100.0 }")
private double randomNumber;

注:#{} 中寫表達式。

4、注入其他Bean屬性

注入 beanInject 對象的屬性 another

@Value("#{beanInject.another}")
private String fromAnotherBean;

5、注入文件資源

@Value("classpath:com/hry/spring/configinject/config.txt")
private Resource resourceFile;

6、注入URL資源

@Value("http://www.baidu.com")
private Resource testUrl;

二、通過配置文件注入

SpringBoot 通過 @Value 注解將配置文件中的屬性注入到容器內(nèi)組件中(可用在 @Controller 、@Service 、@Configuration、@Component 等Spring托管的類中)

1、注入普通字符串

application.properties 配置文件中有如下配置:

name=admin

@Value 注入屬性:

@Value("${name}")
public String name;

此時,name 的值為 admin

當配置文件中 name= 空時,此時name屬性的值為 "" 。

我們可以為注入屬性設置默認值:

@Value("${name:admin}")
public String name;

2、注入基本類型

application.properties 配置文件中有如下配置:

port=8888
open=true
score=90.1

@Value 注入屬性:

@Value("${port:1111}")
private int port;
@Value("${open:true}")
private boolean open;
@Value("${score:100}")
private double score;

3、注入數(shù)組類型

application.properties 配置文件中有如下配置:

ids=1,2,3

@Value 注入屬性:

@Value("${ids}")
public int[] arrIds;

注:當配置文件中 ids 沒有對應值時,數(shù)組 arrIds非null空數(shù)組,長度為 0。

4、注入List類型

application.properties 配置文件中有如下配置:

ids=1,2,3

@Value 注入屬性:

@Value("#{'${ids}'.split(',')}")
public List<String> listIds;

注:當配置文件中 ids 沒有對應值時,集合 listIds 長度為 1 ,存在值為:"" 。

5、注入Map類型

application.properties 配置文件中有如下配置:

user="{name:'admin', age:'23'}"

@Value 注入屬性:

@Value("#{${user}}")
public Map<String, String> userMap;

#{} 表示使用 SpEL表達式 。

注:當配置文件中 user 沒有對應值是,啟動報錯。

到此這篇關于SpringBoot超詳細講解@Value注解的文章就介紹到這了,更多相關SpringBoot @Value注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

海兴县| 自治县| 和硕县| 安平县| 简阳市| 越西县| 岳池县| 鄂托克旗| 平原县| 新干县| 江津市| 金阳县| 论坛| 拉萨市| 江城| 若羌县| 韩城市| 东丽区| 青铜峡市| 阿尔山市| 土默特右旗| 太白县| 板桥市| 通辽市| 峨眉山市| 宁津县| 玉田县| 西乡县| 中牟县| 海门市| 阿拉善右旗| 张家界市| 崇文区| 丰顺县| 奉贤区| 东城区| 沁阳市| 德格县| 孝感市| 正安县| 汉阴县|