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

 更新时间:2023年07月07日 15:58:14   作者: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默认值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java @Scheduled定时任务不执行解决办法

    Java @Scheduled定时任务不执行解决办法

    这篇文章主要给大家介绍了关于Java @Scheduled定时任务不执行解决的相关资料,当@Scheduled定时任务不执行时可以根据以下步骤进行排查和解决,需要的朋友可以参考下
    2023-10-10
  • springboot动态注入配置与docker设置环境变量的方法

    springboot动态注入配置与docker设置环境变量的方法

    这篇文章主要介绍了springboot动态注入配置与docker设置环境变量的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • 基于kafka实现Spring Cloud Bus消息总线

    基于kafka实现Spring Cloud Bus消息总线

    消息总线是一种通信工具,可以在机器之间互相传输消息、文件等,这篇文章主要介绍了如何利用kafka实现SpringCloud Bus消息总线,感兴趣的可以学习一下
    2022-04-04
  • JAVA如何判断上传文件后缀名是否符合规范MultipartFile

    JAVA如何判断上传文件后缀名是否符合规范MultipartFile

    这篇文章主要介绍了JAVA判断上传文件后缀名是否符合规范MultipartFile,文中通过实例代码介绍了java实现对上传文件做安全性检查,需要的朋友可以参考下
    2023-11-11
  • 基于python locust库实现性能测试

    基于python locust库实现性能测试

    这篇文章主要介绍了基于python locust库实现性能测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 使用idea自动生成序列化ID全过程

    使用idea自动生成序列化ID全过程

    这篇文章主要介绍了使用idea自动生成序列化ID全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 十分钟速懂java知识点 System类

    十分钟速懂java知识点 System类

    这篇文章主要介绍了java知识点System类,根据一次面试总结的,可以十分钟速懂System类,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • java实现ftp文件上传下载功能

    java实现ftp文件上传下载功能

    这篇文章主要为大家详细介绍了java实现ftp文件上传下载功能的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Spring Boot 2.X 快速集成单元测试解析

    Spring Boot 2.X 快速集成单元测试解析

    这篇文章主要介绍了Spring Boot 2.X 快速集成单元测试解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • java实现简单石头剪刀布小游戏

    java实现简单石头剪刀布小游戏

    这篇文章主要为大家详细介绍了java实现简单石头剪刀布小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论