ref:https://blog.csdn.net/zhangzehai2234/article/details/88564759


@Value注解的使用:

  • 没有默认值的用法:
@Value("${spring.port}")
private String port;

配置文件:

spring:port: 8080

则:上面这样 就会自动的将配置文件中的值 注入到属性中去。


使用@Value注解将配置文件中配置的值 进行自动注入的时候,经常会出现的一个问题就是:若我们忘记在配置文件中配置该参数 则会造成项目启动报错。

我们可以通过给被@Value注解作用的变量进行注入的时候,如果没有找到该配置参数时 设置一个默认值,相当于是一个兜底的方案。

  • 增加默认值的用法:
@Value("${spring.port:8080}")
private String port;

这样即使忘记 在配置文件中配置参数,项目启动也不会报错。

这里需要注意的是:

  • 即使你的配置参数的值是String类型的话也不需要加双引号
  • 被static修饰的变量通过@Value会注入失败

如果是因为特定需求必须要给static变量进行@Value设值的话,可以采用下面这种方式

给static变量采用@Value设值

Test.javapublic static String port;@Value("${spring.port:8080}")
public void setPort(String port){Test.port = port;
}

考虑几种情况:
1、配置文件中没有配置项:可以使用@Value注解 设置默认值。

@Value("${spring.port:8080}")
private String port;

2、若配置文件中有配置项,但是没有配置value。
这时,就需要 给变量赋初值,否则 拿到的就是默认值,Int类型0,String类型 “”。

@Value("${spring.port:8080}")
private String port = 8090;@Value("${schedule.overview.dashboard_time:180}")
private Integer dashboard = 280;

@Value设置默认值相关推荐

  1. mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题

    1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...

  2. ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift ...

  3. PowerDesigner中如何给字符串字段设置默认值 .

    参考:http://www.cnblogs.com/navy235/archive/2011/10/18/2216443.html 在PowerDesigner12.5中,给varchar或nvarc ...

  4. Elasticsearch 设置默认值的三种方式

    1.实战问题 在使用 Elasticsearch 过程中,不免还会有 Mysql 等关系型数据库的使用痕迹,以下两个都是实战开发问到的问题: Elasticsearch 新增字段,能在 Mapping ...

  5. mysql给字段设置默认值,以及mysql的严格模式

    一.背景 在插入数据库时,报错#1364,后来才知道是字段在创建的时候,没有设置默认值的原因.关于默认值,我们都知道设置默认值为0或者null的时候,就算我们不插入该字段,数据库也会自动按照默认值填充 ...

  6. html5下拉列表默认值,element-ui中的select下拉列表设置默认值方法_简单_前端开发者...

    element-ui中的select下拉列表如何设置默认值? 在element-ui的运用中,涉及到了select下拉列表.项目中需要将select的默认值给展示出来 那如何修改呢? 上element ...

  7. MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP...

    2019独角兽企业重金招聘Python工程师标准>>> 在 CYQ.Data 数据框架的反向工程中,遇到MySQL的问题又2个,记录下先. 1:对于时间的默认值,为:CURRENT_ ...

  8. 采购订单增强(根据公司代码、采购订单类型等相关订单信息给采购订单税码设置默认值)

    根据公司代码.采购订单类型等相关订单信息给采购订单税码设置默认值: 使用BADI及方法: BADI : ME_PROCESS_PO_CUST Method: PROCESS_ITEM 在Method ...

  9. jqueryeasyui datebox 设置默认值

    2019独角兽企业重金招聘Python工程师标准>>> jqueryeasyui    datebox  设置默认值 记录坑点: 1.setValue  设置默认值,大家用的时候都说 ...

  10. 【Java代码】反射机制处理传递给mapper文件的非Map类型参数对象(指定属性为空则设置默认值)

    1. why 为什么要拦截传递给 mapper 文件的参数对象呢?因为要对指定属性设置默认值.如何拦截传递给 mapper 文件的参数对象可以参考<使用(org.apache.ibatis.pl ...

最新文章

  1. 哨兵机器人钢力士_还记得秒杀X战警的哨兵机器人吗?在漫威原著里,X战警更憋屈...
  2. “RPC 好,还是 RESTful 好?” 不要选错了!
  3. Php中方法作用域,PHP 函数(下):匿名函数和作用域
  4. 【B站视频教程笔记】基于VSCode和CMake实现C/C++开发 | Linux篇(gcc/g++)(安装、配置、使用详细教程)(VSCode教程)(CMake教程)(精!)
  5. 关于Git你必须知道的
  6. mysql 统计当天,本周,本月,上一月的数据
  7. windows 下后台启动 redis
  8. 26期20180606 chmod chown umask 隐藏权限
  9. mysql递归查询树,帮你突破瓶颈
  10. 完全卸载Oracle10
  11. Python之父:为什么操作符很有用?
  12. FPGA入门 Xilinx暑期学校学习Day4
  13. libyuv 交叉编译
  14. bidi(双向文字)与RTL布局总结
  15. 云原生关乎文化,而不是容器
  16. 00-线段检测--FLD
  17. android手机可以设置屏幕锁定,Android手机屏幕锁定设置方法(九个点图案)
  18. 计算机是如何工作的? ----李泽源
  19. 5年开发经验的阿里巴巴Java程序员分享从业心得总结,帮助还在迷茫的朋友
  20. 高阶 numpy 数组快速插值(高阶快插)算法探讨

热门文章

  1. Spring boot出现java.awt.HeadlessException【已解决】
  2. 鸿蒙申请银行卡格式错误,办建设银行卡问题
  3. 怎么起用计算机无线开关,笔记本无线网络开关,详细教您如何打开笔记本电脑无线网卡开关...
  4. 内存溢出(OutOfMemoryError)与栈溢出(StackOverflowError)
  5. 南邮 OJ 2029 节奏大师
  6. AMiner推荐论文:Flexible artificial Si-In-Zn-O/ion gel synapse and its application to sensory-neuromorphi
  7. 全球爆发计算机勒索病毒
  8. [转载]dilated conv带孔卷积、pooling层提高感受野 反卷积 的理解
  9. python 自动打包pyd
  10. 360 企业安全推出的 SD-WAN 会抢谁的生意?| 访谈