Spring中@Value設置默認值問題解決
問題描述
使用@Value注解將變量進行自動注入的時候,經(jīng)常會出現(xiàn)的一個問題就是我們可能會由于在配置參數(shù)中忘記設置該參數(shù)造成整個項目報錯,其實我們可以通過給被@Value注解作用的變量進行注入的時候如果沒有找到該配置參數(shù)時設置一個默認值,相當于是一個兜底的方案。
常見的默認值
yml配置
app: string: abc isFlag: false intValue: 123 stringArray: a,b,c intArray: 1,2,3
實例代碼
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 {
? ? //為字符串設置空值
? ? @Value("${app.string:}")
? ? private String stringValue;
? ? //為布爾值設置默認值
? ? @Value("${app.isFlag:true}")
? ? private boolean booleanValue;
? ? //為整數(shù)設置默認值
? ? @Value("${app.intValue:234}")
? ? private int intValue;
? ? //為字符串數(shù)組設置默認值
? ? @Value("${app.stringArray:aa,bb}")
? ? private String stringArrayValue;
? ? //為整數(shù)數(shù)組設置默認值
? ? @Value("${app.intArray:11,22}")
? ? private String intArrayValue;
? ? @ApiOperation(value = "默認值--字符串")
? ? @PostMapping("/springValueString")
? ? public String springValueString() {
? ? ? ? log.info("======>>>"+stringValue);
? ? ? ? return "success";
? ? }
? ? @ApiOperation(value = "默認值--布爾值")
? ? @PostMapping("/springValueBoolean")
? ? public String springValueBoolean() {
? ? ? ? log.info("======>>>"+booleanValue);
? ? ? ? return "success";
? ? }
? ? @ApiOperation(value = "默認值--整數(shù)值")
? ? @PostMapping("/springValueInt")
? ? public String springValueInt() {
? ? ? ? log.info("======>>>"+intValue);
? ? ? ? return "success";
? ? }
? ? @ApiOperation(value = "默認值--字符串數(shù)組")
? ? @PostMapping("/springValueStringArray")
? ? public String springValueStringArray() {
? ? ? ? log.info("======>>>"+stringArrayValue);
? ? ? ? return "success";
? ? }
? ? @ApiOperation(value = "默認值--整數(shù)數(shù)組")
? ? @PostMapping("/springValueIntArray")
? ? public String springValueIntArray() {
? ? ? ? log.info("======>>>"+intArrayValue);
? ? ? ? return "success";
? ? }
}本文小結(jié)
到此這篇關于Spring中@Value設置默認值問題解決的文章就介紹到這了,更多相關Spring @Value默認值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JProfiler11使用教程之JVM調(diào)優(yōu)問題小結(jié)
這篇文章主要介紹了JProfiler11使用教程之JVM調(diào)優(yōu),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03
SpringBoot+MyBatis處理JSON字段的完整指南
本文主要介紹了SpringBoot+MyBatis處理JSON字段的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2026-03-03
Java基于iText7實現(xiàn)PDF添加通用文本水印的示例詳解
這篇文章主要為大家詳細介紹了Java基于iText7實現(xiàn)PDF添加通用文本水印的相關方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2026-02-02
深入理解java動態(tài)代理的兩種實現(xiàn)方式(JDK/Cglib)
本篇文章主要介紹了java動態(tài)代理的兩種實現(xiàn)方式,詳細的介紹了JDK和Cglib的實現(xiàn)方法,具有一定的參考價值,有興趣的可以了解一下2017-04-04
springboot實現(xiàn)全局異常處理及自定義異常類
這篇文章主要介紹了springboot實現(xiàn)全局異常處理及自定義異常類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
SpringBoot集成Beetl后統(tǒng)一處理頁面異常的方法
這篇文章主要介紹了SpringBoot集成Beetl后統(tǒng)一處理頁面異常的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08
Spring AOP底層源碼深度解析之從動態(tài)代理到注解實現(xiàn)的完整架構(gòu)
這篇文章詳細介紹了Spring AOP的核心概念、實現(xiàn)方式、配置方法以及高級特性,從動態(tài)代理基礎到性能優(yōu)化,全面涵蓋了Spring AOP的各個方面,幫助開發(fā)者深入理解并有效地應用Spring AOP,感興趣的朋友跟隨小編一起看看吧2026-01-01

