我可以在Spring中将null设置为@Value的默认值吗?
我目前正在使用@Value Spring 3.1.x注释,如下所示:
@Value("${stuff.value:}")private String value;
如果属性不存在,则将空字符串放入变量中。我想将null作为默认值,而不是一个空String。当然,当未设置属性stuff.value时,我也想避免发生错误。
回答:
您必须设置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;
请注意:上下文名称空间目前不支持null值。你不能用
<context:property-placeholder null-value="@null" ... />
在Spring 3.1.1中测试
以上是 我可以在Spring中将null设置为@Value的默认值吗? 的全部内容, 来源链接: utcz.com/qa/423232.html