春季如何定义非强制性财产?


问题内容

我正在使用Spring 3和PropertyPlaceholderConfigurator。

我的属性代码如下所示:

@Configuration
public class MyProps {

    @Value("${prop1}")
    public String prop1;

    ...
}

如果我的.properties文件中没有prop1,则spring无法初始化其上下文。

问题是如何定义该属性不是必需的?一些注释,配置?


问题答案:

您可以使用默认值:

@Value("${prop1:}")
public String prop1;

如果未定义该属性,spring将注入一个空字符串。语法为${property:defaultValue}