Spring@Value设置默认值的实现
1.概览
Spring 的 @Vaule 注解提供了⼀种便捷的⽅法可以让属性值注⼊到组件中,当属性值不存在的时候提供⼀个默认值也是⾮常好⽤的
这就是我们这篇⽂章所专注的,如何给 @Vaule 注解指定⼀个默认值。对于更多的关于 @Vaule 的教程看
2.String 默认值
让我们看看对于 String 类型的值,给定⼀个默认值得基础语法
@Value("${some.key:my default value}")
private String stringWithDefaultValue;
默认字符串是什么如果 some.key ⽆法解析,那么 stringWithDefaultValue 的值会被设置为默认值 "my default value".
相似的,我们也可以⽤如下⽅法,设置⼀个空字符串作为默认值
@Value("${some.key:})"
private String stringWithBlankDefaultValue;
3.原始类型
给像 int 或者 boolean 的原始类型赋⼀个默认值,我们使⽤⽂字值:
@Value("${some.key:true}")
private boolean booleanWithDefaultValue;
@Value("${some.key:42}")
private int intWithDefaultValue;
如果愿意,可以⽤原始类型的包装类型来代替,例如 Boolean 和 Integer
4.数组
我们可以使⽤逗号分隔的 list 来⽤于数组的注⼊,如下
@Value("${some.key:one,two,three}")
private String[] stringArrayWithDefaults;
@Value("${some.key:1,2,3}")
private int[] intArrayWithDefaults;
在上⾯第⼀个例⼦, 值为 "one", "two", 和 "three" 的数组将被注⼊到 stringArrayWithDefaults 中
在上⾯第⼆个例⼦, 值为 1, 2, 和 3 的数组将被注⼊ intArrayWithDefaults 中
5.使⽤SpEL表达式
我们也可以使⽤ Spring Expression Language (SpEL) 去指定⼀个表达式或者默认值
在下⾯的例⼦中,我们期望 some.system.key 被设置为系统值,如果他不存在则我们想⽤ "my default system property value" @Value("#{systemProperties['some.key'] ?: 'my default system property value'}")
private String spelWithDefaultValue;
6.总结
在这篇⽂章中,我们研究了如何为使⽤Spring的@Value注释注⼊的属性设置默认值。
像往常⼀样,本⽂中使⽤的所有代码⽰例都可以在中到。
到此这篇关于Spring @Value 设置默认值的实现的⽂章就介绍到这了,更多相关Spring @Value 设置默认值内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。