SpringBoot使用@Value實現(xiàn)給靜態(tài)變量注入值
SpringBoot中使用@Value()只能給普通變量注入值,不能直接給靜態(tài)變量賦值
例如
application-dev.properties 配置文件有如下配置:
給普通變量賦值時,直接在變量聲明之上添加@Value()注解即可,如下所示:
當(dāng)要給靜態(tài)變量注入值的時候,若是在靜態(tài)變量聲明之上直接添加@Value()注解是無效的,例如:
雖然沒有編譯和運行上的報錯,經(jīng)調(diào)試可知這種注解方式mailUsername、mailPassword、mailHost的值都是null,也就是說直接給靜態(tài)變量讀取配置文件是無效的,如下所示:
若要給靜態(tài)變量賦值,可以使用set()方法,其中需要在類上加入@Component注解,方法名(例如setMailUsername)和參數(shù)名(例如username)可以任意命名,
如下所示:
調(diào)試結(jié)果如下:
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring @Transactional注解的聲明式事務(wù)簡化業(yè)務(wù)邏輯中的事務(wù)管理
這篇文章主要為大家介紹了Spring @Transactional注解的聲明式事務(wù)簡化業(yè)務(wù)邏輯中的事務(wù)管理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Spring Cloud Config對特殊字符加密處理的方法詳解
這篇文章主要給大家介紹了關(guān)于Spring Cloud Config對特殊字符加密處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2018-05-05java利用Apache commons codec進(jìn)行MD5加密,BASE64加密解密,執(zhí)行系統(tǒng)命令
這篇文章主要介紹了java利用apache Commons包進(jìn)行MD5加密,BASE64加密解密與執(zhí)行系統(tǒng)命令希望對大家有用2017-12-12java開發(fā)RocketMQ生產(chǎn)者高可用示例詳解
這篇文章主要為大家介紹了java開發(fā)RocketMQ生產(chǎn)者高可用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08