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

本文来说下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注解设置默认值问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值