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

