欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot通過@Value實現給靜態(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 注解。

當要給 靜態(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()方法設置
@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 和參數名 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;
	}
}

三、總結

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

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

相關文章

  • 實例分析Java泛型

    實例分析Java泛型

    本篇文章通過代碼實例給大家講述了Java泛型的相關知識點以及相關的代碼分析,對此有興趣的朋友學習下。
    2018-02-02
  • Guava Cache的使用簡介

    Guava Cache的使用簡介

    這篇文章主要介紹了Guava Cache的使用簡介,幫助大家更好的理解和學習使用Guava Cache,感興趣的朋友可以了解下
    2021-03-03
  • Java中使用qsort對類進行排序的操作代碼

    Java中使用qsort對類進行排序的操作代碼

    這篇文章主要介紹了JAVA中如何使用qsort對類進行排序,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Java中通過ZipOutputStream類如何將多個文件打成zip

    Java中通過ZipOutputStream類如何將多個文件打成zip

    ZipOutputStream?是Java中用于創(chuàng)建ZIP文件的類,它是?java.util.zip?包中的一部分,通過使用?ZipOutputStream?,可以將多個文件壓縮到一個ZIP文件中,這篇文章主要介紹了Java中(ZipOutputStream)如何將多個文件打成zip,需要的朋友可以參考下
    2023-09-09
  • spring boot實現上傳圖片并在頁面上顯示及遇到的問題小結

    spring boot實現上傳圖片并在頁面上顯示及遇到的問題小結

    最近在使用spring boot搭建網站的過程之中遇到了有點小問題,最終解決方案是在main目錄下新建了一個webapp文件夾,并且對其路徑進行了配置,本文重點給大家介紹spring boot實現上傳圖片并在頁面上顯示功能,需要的朋友參考下吧
    2017-12-12
  • Spring數據庫連接池url參數踩坑及解決

    Spring數據庫連接池url參數踩坑及解決

    這篇文章主要介紹了Spring數據庫連接池url參數踩坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java?BitMap源碼仿寫實現

    Java?BitMap源碼仿寫實現

    這篇文章主要介紹了Java?BitMap源碼仿寫實現,所謂bitmap,就是用每一位來存放某種狀態(tài),適用于大規(guī)模數據,但數據狀態(tài)又不是很多的情況。通常是用來判斷某個數據存不存在的
    2022-12-12
  • IDEA類和方法注釋模板設置(非常詳細)

    IDEA類和方法注釋模板設置(非常詳細)

    這篇文章主要介紹了IDEA類和方法注釋模板設置(非常詳細),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Spring存儲與讀取Bean對象方法

    Spring存儲與讀取Bean對象方法

    在Spring中,要想更簡單的存儲和讀取對象的核心是使用注解,這篇文章主要給大家介紹了關于Spring如何通過注解存儲和讀取對象的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • Kotlin修飾符lateinit(延遲初始化)案例詳解

    Kotlin修飾符lateinit(延遲初始化)案例詳解

    這篇文章主要介紹了Kotlin修飾符lateinit(延遲初始化)案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09

最新評論