我目前正在使用@Value Spring 3.1.x注释,如下所示:
@Value("${stuff.value:}")
private String value;
如果属性不存在,这会将一个空字符串放入变量。我希望使用null作为默认值,而不是空字符串。当然,我也希望避免在未设置属性stuff.value时出现错误。
发布于 2012-08-17 02:47:31
您必须设置PropertyPlaceholderConfigurer的nullValue。在本例中,我使用了字符串@null
,但是您也可以使用空字符串作为nullValue。
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<!-- config the location(s) of the properties file(s) here -->
<property name="nullValue" value="@null" />
</bean>
现在您可以使用字符串@null
来表示null
值
@Value("${stuff.value:@null}")
private String value;
请注意: context名称空间目前不支持空值。你不能使用
<context:property-placeholder null-value="@null" ... />
使用Spring 3.1.1进行测试
发布于 2015-11-13 14:47:20
发布于 2020-06-16 20:32:39
如果您需要注入一个空(0长度) "“字符串作为@Value默认值-使用SPEL (spring表达式语言),如下所示:
@Value("${index.suffix:#{''}}")
private String indexSuffix;
#{''}只会得到一个空字符串,作为injected @Value的默认值。
按yl
https://stackoverflow.com/questions/11991194
复制相似问题