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)文章
Spring-全面詳解(學(xué)習(xí)總結(jié))
這篇文章主要介紹了詳解Spring框架入門,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望能給你帶來幫助2021-07-07
JProfiler11使用教程之JVM調(diào)優(yōu)問題小結(jié)
這篇文章主要介紹了JProfiler11使用教程之JVM調(diào)優(yōu),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
SpringBoot+MyBatis處理JSON字段的完整指南
本文主要介紹了SpringBoot+MyBatis處理JSON字段的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-03-03
Java基于iText7實(shí)現(xiàn)PDF添加通用文本水印的示例詳解
這篇文章主要為大家詳細(xì)介紹了Java基于iText7實(shí)現(xiàn)PDF添加通用文本水印的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2026-02-02
深入理解java動(dòng)態(tài)代理的兩種實(shí)現(xiàn)方式(JDK/Cglib)
本篇文章主要介紹了java動(dòng)態(tài)代理的兩種實(shí)現(xiàn)方式,詳細(xì)的介紹了JDK和Cglib的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,有興趣的可以了解一下2017-04-04
springboot實(shí)現(xiàn)全局異常處理及自定義異常類
這篇文章主要介紹了springboot實(shí)現(xiàn)全局異常處理及自定義異常類,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
SpringBoot集成Beetl后統(tǒng)一處理頁面異常的方法
這篇文章主要介紹了SpringBoot集成Beetl后統(tǒng)一處理頁面異常的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Spring AOP底層源碼深度解析之從動(dòng)態(tài)代理到注解實(shí)現(xiàn)的完整架構(gòu)
這篇文章詳細(xì)介紹了Spring AOP的核心概念、實(shí)現(xiàn)方式、配置方法以及高級(jí)特性,從動(dòng)態(tài)代理基礎(chǔ)到性能優(yōu)化,全面涵蓋了Spring AOP的各個(gè)方面,幫助開發(fā)者深入理解并有效地應(yīng)用Spring AOP,感興趣的朋友跟隨小編一起看看吧2026-01-01

