java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring @Value默认值

Spring中@Value设置默认值问题解决

作者:wh柒八九

本文主要介绍了Spring中@Value设置默认值问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

问题描述

使用@Value注解将变量进行自动注入的时候,经常会出现的一个问题就是我们可能会由于在配置参数中忘记设置该参数造成整个项目报错,其实我们可以通过给被@Value注解作用的变量进行注入的时候如果没有找到该配置参数时设置一个默认值,相当于是一个兜底的方案。

常见的默认值

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;
    //为整数设置默认值
    @Value("${app.intValue:234}")
    private int intValue;
    //为字符串数组设置默认值
    @Value("${app.stringArray:aa,bb}")
    private String stringArrayValue;
    //为整数数组设置默认值
    @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 = "默认值--整数值")
    @PostMapping("/springValueInt")
    public String springValueInt() {
        log.info("======>>>"+intValue);
        return "success";
    }
    @ApiOperation(value = "默认值--字符串数组")
    @PostMapping("/springValueStringArray")
    public String springValueStringArray() {
        log.info("======>>>"+stringArrayValue);
        return "success";
    }
    @ApiOperation(value = "默认值--整数数组")
    @PostMapping("/springValueIntArray")
    public String springValueIntArray() {
        log.info("======>>>"+intArrayValue);
        return "success";
    }
}

本文小结

到此这篇关于Spring中@Value设置默认值问题解决的文章就介绍到这了,更多相关Spring @Value默认值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文