給@Value設(shè)置默認(rèn)值以及為static變量賦值問題
@Value用法
1、賦值時沒有指定默認(rèn)值
@Value("${server.port}") private int serverPort;
配置文件對應(yīng)配置如下
server.port=8080
如上,程序啟動時會自動將配置文件對應(yīng)的屬性值賦值給對應(yīng)的變量
注:
- 在沒有指定默認(rèn)值的情況下,
- 如果忘記在配置文件配置對應(yīng)的屬性,
- 在程序啟動時會報錯,導(dǎo)致程序啟動失敗,
- 這種情況可以為@Value指定默認(rèn)值,來避免該問題
2、賦值時指定默認(rèn)值
@Value("${server.port:8080}") private int serverPort;
如上,如果在配置文件沒有配置對應(yīng)的屬性,則使用8080作為默認(rèn)值
3、為靜態(tài)變量賦值
在某些特定的情況,需要為static的變量賦值,不能直接將@Value使用到靜態(tài)變量上,這樣無法將配置值注入到該靜態(tài)變量
可以使用Set方法為靜態(tài)變量賦值
private static int serverPort;
@Value("${server.port}") public void setServerPort(Integer serverPort) { 類名.serverPort = serverPort; }
注:
- 以上方法同樣可以指定默認(rèn)值
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Security?自定義授權(quán)服務(wù)器實(shí)踐記錄
授權(quán)服務(wù)器(Authorization Server)目前并沒有集成在Spring Security項目中,而是作為獨(dú)立項目存在于Spring生態(tài)中,這篇文章主要介紹了Spring?Security?自定義授權(quán)服務(wù)器實(shí)踐,需要的朋友可以參考下2022-08-08IntelliJ IDEA 2020.1 EAP4 發(fā)布,重命名/更改簽名新功能一覽
這篇文章主要介紹了IntelliJ IDEA 2020.1 EAP4 發(fā)布,重命名/更改簽名新功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04Spring Bean的實(shí)例化之屬性注入源碼剖析過程
本篇文章主要就是分析Spring源碼剖析-Bean的實(shí)例化-屬性注入的相關(guān)知識,通過本文學(xué)習(xí)AbstractAutowireCapableBeanFactory#populateBean 方法的主要功能就是屬性填充,感興趣的朋友跟隨小編一起看看吧2021-06-06IDEA?服務(wù)器熱部署圖文詳解(On?Update?action/On?frame?deactivation)
這篇文章主要介紹了IDEA?服務(wù)器熱部署詳解(On?Update?action/On?frame?deactivation),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03一文詳解如何在Java?Maven項目中使用JUnit?5進(jìn)行測試
這篇文章主要介紹了如何在Java?Maven項目中使用JUnit?5進(jìn)行測試的相關(guān)資料,JUnit5是一個流行的Java測試框架,它涵蓋了JUnit5的概述、環(huán)境配置、編寫測試用例、運(yùn)行測試、高級特性和最佳實(shí)踐,需要的朋友可以參考下2025-04-04使用SpringAOP實(shí)現(xiàn)公共字段填充功能
在新增員工或者新增菜品分類時需要設(shè)置創(chuàng)建時間、創(chuàng)建人、修改時間、修改人等字段,在編輯員工或者編輯菜品分類時需要設(shè)置修改時間、修改人等字段,這些字段屬于公共字段,本文將給大家介紹使用SpringAOP實(shí)現(xiàn)公共字段填充功能,需要的朋友可以參考下2024-08-08