我可以在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

回到顶部