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

SpringBoot通過(guò)@Value實(shí)現(xiàn)給靜態(tài)變量注入值詳解

 更新時(shí)間:2022年07月18日 10:55:14   作者:蹲街式等待  
這篇文章主要介紹了springboot如何通過(guò)@Value給靜態(tài)變量注入值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、簡(jiǎn)介

SpringBoot 中給普通變量注入值只需在變量上添加 @Value 注解即可。

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

mail.name=admin@163.com
main.pwd=admin123

給普通變量賦值時(shí),直接在變量聲明之上添加 @Value() 注解即可。

@Value("${mail.name:admin@163.com}")
private String mailName;
@Value("${mail.pwd:admin123}")
private String mailPwd;

注:需要在類上添加 @Component 注解。

當(dāng)要給 靜態(tài)變量 注入值的時(shí)候,若是在靜態(tài)變量聲明之上直接添加@Value() 注解是無(wú)效的。

@Value("${mail.name:admin@163.com}")
private static String mailName;
@Value("${mail.pwd:admin123}")
private static String mailPwd;

雖然在編譯和運(yùn)行上沒(méi)有報(bào)錯(cuò),但是mailName、mailPwd的值都是NULL。

那么如何給靜態(tài)變量注入值呢?

二、@Value給靜態(tài)變量注入值

方案一

  • set()方法設(shè)置
@Component
public class MailInfo{
	public static String mailName;
	public static String mailPwd;
	@Value("${mail.name:admin@163.com}")
	public void setMailName(String name){
		mailName = name;
	}
	@Value("${mail.pwd:admin123}")
	public void setMailPwd(String pwd){
		mailPwd = pwd;
	}
}

注:需要在類上加入 @Component 注解,方法名 setMailName 和參數(shù)名 name 可以任意命名。

方案二

  • @PostConstruct注解修飾的方法中進(jìn)行賦值
@Component
public class MailInfo{
	@Value("${mail.name:admin@163.com}")
	public String preMailName;
	@Value("${mail.pwd:admin123}")
	public String preMailPwd;
	public static String mailName;
	public static String mailPwd;
	@PostConstruct
	public void init(){
		mailName = preMailName;
		mailPwd = preMailPwd;
	}
}

三、總結(jié)

  • Spring不允許/不支持把值注入到 靜態(tài)變量 中;
  • Spring的 @Value 依賴注入是依賴 set() 方法;
  • set() 方法是普通的對(duì)象方法;
  • static 變量是類的屬性,static沒(méi)有 set() 方法;

到此這篇關(guān)于SpringBoot通過(guò)@Value實(shí)現(xiàn)給靜態(tài)變量注入值詳解的文章就介紹到這了,更多相關(guān)SpringBoot @Value內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 多個(gè)版本JAVA切換的簡(jiǎn)單步驟記錄

    多個(gè)版本JAVA切換的簡(jiǎn)單步驟記錄

    在工作中或者學(xué)習(xí)過(guò)程中,有一些特殊情況我們需要來(lái)切換java版本來(lái)做比較,比如一些新特性等等的相關(guān)資料,這篇文章主要介紹了多個(gè)版本JAVA切換的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Spring?BeanFactory工廠使用教程

    Spring?BeanFactory工廠使用教程

    Spring的本質(zhì)是一個(gè)bean工廠(beanFactory)或者說(shuō)bean容器,它按照我們的要求,生產(chǎn)我們需要的各種各樣的bean,提供給我們使用。只是在生產(chǎn)bean的過(guò)程中,需要解決bean之間的依賴問(wèn)題,才引入了依賴注入(DI)這種技術(shù)
    2023-02-02
  • 如何設(shè)計(jì)一個(gè)安全的API接口詳解

    如何設(shè)計(jì)一個(gè)安全的API接口詳解

    在日常開(kāi)發(fā)中,總會(huì)接觸到各種接口,前后端數(shù)據(jù)傳輸接口,第三方業(yè)務(wù)平臺(tái)接口,下面這篇文章主要給大家介紹了關(guān)于如何設(shè)計(jì)一個(gè)安全的API接口的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Java圖像處理工具類

    Java圖像處理工具類

    這里給大家分享了一個(gè)java常用的圖像處理工具類,包含縮放圖像、切割圖像、圖像類型轉(zhuǎn)換、彩色轉(zhuǎn)黑白、文字水印、圖片水印等,有需要的小伙伴參考下。
    2015-02-02
  • java多線程累加計(jì)數(shù)的實(shí)現(xiàn)方法

    java多線程累加計(jì)數(shù)的實(shí)現(xiàn)方法

    在多線程協(xié)作任務(wù)中,如何計(jì)算也是很重的,這篇文章主要介紹了java多線程累加計(jì)數(shù)的實(shí)現(xiàn)方法,感興趣的朋友可以了解一下
    2021-05-05
  • mall整合SpringSecurity及JWT認(rèn)證授權(quán)實(shí)戰(zhàn)下

    mall整合SpringSecurity及JWT認(rèn)證授權(quán)實(shí)戰(zhàn)下

    這篇文章主要為大家介紹了mall整合SpringSecurity及JWT認(rèn)證授權(quán)實(shí)戰(zhàn)第二篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Java中List與數(shù)組相互轉(zhuǎn)換實(shí)例分析

    Java中List與數(shù)組相互轉(zhuǎn)換實(shí)例分析

    這篇文章主要介紹了Java中List與數(shù)組相互轉(zhuǎn)換的方法,實(shí)例分析了Java中List與數(shù)組相互轉(zhuǎn)換中容易出現(xiàn)的問(wèn)題與相關(guān)的解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • Java Long類型對(duì)比分析

    Java Long類型對(duì)比分析

    這篇文章主要介紹了Java Long類型對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java如何獲取數(shù)組和字符串的長(zhǎng)度(length還是length())

    Java如何獲取數(shù)組和字符串的長(zhǎng)度(length還是length())

    這篇文章主要介紹了Java如何獲取數(shù)組和字符串的長(zhǎng)度(length還是length()),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • java8保姆級(jí)lambda表達(dá)式教程

    java8保姆級(jí)lambda表達(dá)式教程

    這篇文章主要介紹了Java8之后的Lambda表達(dá)式的用法,lambda表達(dá)式將大量替代匿名內(nèi)部類的使用,簡(jiǎn)化代碼的同時(shí),更突出了原來(lái)匿名內(nèi)部類中最重要的那部分包含真正邏輯的代碼,需要的朋友可以參考下
    2023-03-03

最新評(píng)論

江永县| 泸定县| 石棉县| 剑河县| 莒南县| 广德县| 宁海县| 海原县| 新田县| 兰考县| 同仁县| 普宁市| 津南区| 简阳市| 高邑县| 丰县| 大埔县| 铜陵市| 永年县| 温宿县| 昌江| 颍上县| 济源市| 江孜县| 康马县| 贞丰县| 武山县| 新建县| 广昌县| 隆化县| 乌拉特后旗| 武隆县| 阿瓦提县| 郑州市| 白水县| 通道| 和政县| 沅江市| 新乡县| 栾川县| 和田县|