Spring中@Value設(shè)置默認(rèn)值問題解決
問題描述
使用@Value注解將變量進(jìn)行自動(dòng)注入的時(shí)候,經(jīng)常會(huì)出現(xiàn)的一個(gè)問題就是我們可能會(huì)由于在配置參數(shù)中忘記設(shè)置該參數(shù)造成整個(gè)項(xiàng)目報(bào)錯(cuò),其實(shí)我們可以通過給被@Value注解作用的變量進(jìn)行注入的時(shí)候如果沒有找到該配置參數(shù)時(shí)設(shè)置一個(gè)默認(rèn)值,相當(dāng)于是一個(gè)兜底的方案。
常見的默認(rèn)值
yml配置
app: string: abc isFlag: false intValue: 123 stringArray: a,b,c intArray: 1,2,3
實(shí)例代碼
package com.wideth.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @Api(tags = "springValue") @RequestMapping("/api/spring") public class SpringValueController { ? ? //為字符串設(shè)置空值 ? ? @Value("${app.string:}") ? ? private String stringValue; ? ? //為布爾值設(shè)置默認(rèn)值 ? ? @Value("${app.isFlag:true}") ? ? private boolean booleanValue; ? ? //為整數(shù)設(shè)置默認(rèn)值 ? ? @Value("${app.intValue:234}") ? ? private int intValue; ? ? //為字符串?dāng)?shù)組設(shè)置默認(rèn)值 ? ? @Value("${app.stringArray:aa,bb}") ? ? private String stringArrayValue; ? ? //為整數(shù)數(shù)組設(shè)置默認(rèn)值 ? ? @Value("${app.intArray:11,22}") ? ? private String intArrayValue; ? ? @ApiOperation(value = "默認(rèn)值--字符串") ? ? @PostMapping("/springValueString") ? ? public String springValueString() { ? ? ? ? log.info("======>>>"+stringValue); ? ? ? ? return "success"; ? ? } ? ? @ApiOperation(value = "默認(rèn)值--布爾值") ? ? @PostMapping("/springValueBoolean") ? ? public String springValueBoolean() { ? ? ? ? log.info("======>>>"+booleanValue); ? ? ? ? return "success"; ? ? } ? ? @ApiOperation(value = "默認(rèn)值--整數(shù)值") ? ? @PostMapping("/springValueInt") ? ? public String springValueInt() { ? ? ? ? log.info("======>>>"+intValue); ? ? ? ? return "success"; ? ? } ? ? @ApiOperation(value = "默認(rèn)值--字符串?dāng)?shù)組") ? ? @PostMapping("/springValueStringArray") ? ? public String springValueStringArray() { ? ? ? ? log.info("======>>>"+stringArrayValue); ? ? ? ? return "success"; ? ? } ? ? @ApiOperation(value = "默認(rèn)值--整數(shù)數(shù)組") ? ? @PostMapping("/springValueIntArray") ? ? public String springValueIntArray() { ? ? ? ? log.info("======>>>"+intArrayValue); ? ? ? ? return "success"; ? ? } }
本文小結(jié)
到此這篇關(guān)于Spring中@Value設(shè)置默認(rèn)值問題解決的文章就介紹到這了,更多相關(guān)Spring @Value默認(rèn)值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 關(guān)于@Value注入List,Map及設(shè)置默認(rèn)值問題
- 在SpringBoot中使用@Value注解來設(shè)置默認(rèn)值的方法
- @Value設(shè)置默認(rèn)值后,獲取不到配置值的原因分析
- @Value如何設(shè)置默認(rèn)值
- SpringBoot的@Value注解如何設(shè)置默認(rèn)值
- Springboot @Value注入boolean設(shè)置默認(rèn)值方式
- Spring @Value 設(shè)置默認(rèn)值的實(shí)現(xiàn)
- 給@Value設(shè)置默認(rèn)值以及為static變量賦值問題
相關(guān)文章
若依 MyBatis改為MyBatis-Plus的實(shí)現(xiàn)步驟
本文主要介紹了若依 MyBatis改為MyBatis-Plus的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08Spring與Shiro整合及加載權(quán)限表達(dá)式問題
這篇文章主要介紹了Spring與Shiro整合及加載權(quán)限表達(dá)式問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12Spring Cloud Gateway打造可擴(kuò)展的微服務(wù)網(wǎng)關(guān)
微服務(wù)網(wǎng)關(guān)是一個(gè)位于客戶端和后端微服務(wù)之間的服務(wù)器,用于處理所有與客戶端的通信,Spring Cloud Gateway都是一個(gè)值得考慮的選擇,它將幫助您更好地管理和保護(hù)您的微服務(wù),感興趣的朋友一起看看吧2023-11-11使用SpringBoot實(shí)現(xiàn)自動(dòng)發(fā)送注冊(cè)驗(yàn)證碼郵件功能
一直以來,我都對(duì)程序如何自動(dòng)發(fā)送郵件感到好奇,想象一下,當(dāng)你在某個(gè)網(wǎng)站注冊(cè)時(shí),輸入郵箱后不久就收到一封帶有驗(yàn)證碼的郵件,這種體驗(yàn)既方便又高效,所以本文給大家介紹了如何用?Spring?Boot?實(shí)現(xiàn)自動(dòng)發(fā)送注冊(cè)驗(yàn)證碼郵件,需要的朋友可以參考下2025-04-04Java中的反射,枚舉及l(fā)ambda表達(dá)式的使用詳解
這篇文章主要為大家詳細(xì)介紹了Java的反射,枚舉及l(fā)ambda表達(dá)式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03如何在Java中創(chuàng)建線程通信的四種方式你知道嗎
開發(fā)中不免會(huì)遇到需要所有子線程執(zhí)行完畢通知主線程處理某些邏輯的場(chǎng)景。或者是線程 A 在執(zhí)行到某個(gè)條件通知線程 B 執(zhí)行某個(gè)操作。下面我們來一起學(xué)習(xí)如何解決吧2021-09-09java實(shí)現(xiàn)百度坐標(biāo)的摩卡托坐標(biāo)與火星坐標(biāo)轉(zhuǎn)換的示例
這篇文章主要介紹了java實(shí)現(xiàn)百度坐標(biāo)的摩卡托坐標(biāo)與火星坐標(biāo)轉(zhuǎn)換的示例,需要的朋友可以參考下2014-03-03