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

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

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

一、簡介

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

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

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

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

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

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

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

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

雖然在編譯和運行上沒有報錯,但是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注解修飾的方法中進行賦值
@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() 方法是普通的對象方法;
  • static 變量是類的屬性,static沒有 set() 方法;

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

相關(guān)文章

  • 多個版本JAVA切換的簡單步驟記錄

    多個版本JAVA切換的簡單步驟記錄

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

    Spring?BeanFactory工廠使用教程

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

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

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

    Java圖像處理工具類

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

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

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

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

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

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

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

    Java Long類型對比分析

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

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

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

    java8保姆級lambda表達式教程

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

最新評論

临安市| 诸暨市| 麻阳| 永平县| 益阳市| 南靖县| 韶山市| 射阳县| 龙里县| 文水县| 日喀则市| 苍梧县| 砚山县| 尤溪县| 久治县| 工布江达县| 尚志市| 郴州市| 洛南县| 九江县| 河源市| 古交市| 出国| 岚皋县| 三都| 沙雅县| 宁明县| 伊金霍洛旗| 石嘴山市| 新巴尔虎左旗| 新昌县| 沈丘县| 内乡县| 长乐市| 普定县| 奉化市| 哈密市| 梁山县| 甘谷县| 黄大仙区| 汉川市|