亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot超詳細(xì)講解@Value注解

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

一、非配置文件注入

1、注入普通字符串

直接附在屬性名上,在 Bean 初始化時(shí),會(huì)賦初始值。

@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)的屬性有幾個(gè),加了一個(gè)計(jì)數(shù)器
    //遍歷所有的屬性
    for (String key : properties.stringPropertyNames()) {
        System.out.println(key + "=" + properties.getProperty(key));
    }
    return null;
}

3、注入表達(dá)式

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

注:#{} 中寫(xiě)表達(dá)式。

4、注入其他Bean屬性

注入 beanInject 對(duì)象的屬性 another 。

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

5、注入文件資源

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

6、注入U(xiǎn)RL資源

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

二、通過(guò)配置文件注入

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

1、注入普通字符串

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

name=admin

@Value 注入屬性:

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

此時(shí),name 的值為 admin。

當(dāng)配置文件中 name= 空時(shí),此時(shí)name屬性的值為 "" 。

我們可以為注入屬性設(shè)置默認(rèn)值:

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

2、注入基本類(lèi)型

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ù)組類(lèi)型

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

ids=1,2,3

@Value 注入屬性:

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

注:當(dāng)配置文件中 ids 沒(méi)有對(duì)應(yīng)值時(shí),數(shù)組 arrIds非null空數(shù)組,長(zhǎng)度為 0。

4、注入List類(lèi)型

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

ids=1,2,3

@Value 注入屬性:

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

注:當(dāng)配置文件中 ids 沒(méi)有對(duì)應(yīng)值時(shí),集合 listIds 長(zhǎng)度為 1 ,存在值為:"" 。

5、注入Map類(lèi)型

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

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

@Value 注入屬性:

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

#{} 表示使用 SpEL表達(dá)式 。

注:當(dāng)配置文件中 user 沒(méi)有對(duì)應(yīng)值是,啟動(dòng)報(bào)錯(cuò)。

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

相關(guān)文章

  • 解決MyEclipse中Maven設(shè)置jdk版本jdk1.8報(bào)錯(cuò)問(wèn)題

    解決MyEclipse中Maven設(shè)置jdk版本jdk1.8報(bào)錯(cuò)問(wèn)題

    今天安裝了jdk1.8、tomcat8、和maven3.5.2,弄好后在myeclipse新建了一個(gè)maven項(xiàng)目,項(xiàng)目默認(rèn)是jdk1.5,改成jdk1.8后項(xiàng)目報(bào)錯(cuò)
    2018-10-10
  • Jpa 實(shí)現(xiàn)自動(dòng)更新表中的創(chuàng)建日期和修改時(shí)間

    Jpa 實(shí)現(xiàn)自動(dòng)更新表中的創(chuàng)建日期和修改時(shí)間

    這篇文章主要介紹了Jpa 實(shí)現(xiàn)自動(dòng)更新表中的創(chuàng)建日期和修改時(shí)間,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • maven?scope?provided和runtime的例子說(shuō)明

    maven?scope?provided和runtime的例子說(shuō)明

    這篇文章主要介紹了maven?scope?provided和runtime的例子說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java使用easyExcel批量導(dǎo)入數(shù)據(jù)詳解

    Java使用easyExcel批量導(dǎo)入數(shù)據(jù)詳解

    這篇文章主要介紹了Java使用easyExcel批量導(dǎo)入數(shù)據(jù)詳解,通常我們會(huì)提供一個(gè)模板,此模塊我們可以使用easyExcel導(dǎo)出數(shù)據(jù)生成的一個(gè)Excel文件當(dāng)作模板,提供下載鏈接,用戶(hù)在該文件內(nèi)填入規(guī)定的數(shù)據(jù)格式以后可以批量導(dǎo)入數(shù)據(jù)到數(shù)據(jù)庫(kù)中,需要的朋友可以參考下
    2023-08-08
  • SpringBoot整合多個(gè)Mq服務(wù)做法詳解

    SpringBoot整合多個(gè)Mq服務(wù)做法詳解

    SpringBoot整合rabbitmq很容易,但是整合的目的是為了使用,那要使用rabbitmq就要對(duì)其有一定的了解,不然容易整成一團(tuán)漿糊。因?yàn)檎f(shuō)到底,SpringBoot只是在封裝rabbitmq的API,讓其更容易使用而已,廢話(huà)不多說(shuō),讓我們一起整它
    2023-02-02
  • Java 重入鎖和讀寫(xiě)鎖的具體使用

    Java 重入鎖和讀寫(xiě)鎖的具體使用

    這篇文章主要介紹了Java 重入鎖和讀寫(xiě)鎖的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java手動(dòng)配置線(xiàn)程池過(guò)程詳解

    Java手動(dòng)配置線(xiàn)程池過(guò)程詳解

    這篇文章主要介紹了Java手動(dòng)配置線(xiàn)程池過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • SpringMVC攔截器快速掌握下篇

    SpringMVC攔截器快速掌握下篇

    攔截器(Interceptor)是一種動(dòng)態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動(dòng)態(tài)攔截控制器方法的執(zhí)行。本文將詳細(xì)講講SpringMVC中攔截器的概念及入門(mén)案例,感興趣的可以嘗試一下
    2022-08-08
  • JAVA獲取CLASSPATH路徑的方法詳解

    JAVA獲取CLASSPATH路徑的方法詳解

    這篇文章主要介紹了Java 中獲取類(lèi)路徑 classpath 的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • Filter在springboot中的使用方法詳解

    Filter在springboot中的使用方法詳解

    這篇文章主要介紹了Filter在springboot中的使用方法詳解,filter(過(guò)濾器)作用于在intreceptor(攔截器)之前,不像intreceptor一樣依賴(lài)于springmvc框架,只需要依賴(lài)于serverlet,需要的朋友可以參考下
    2023-08-08

最新評(píng)論