春季表达评估(注释)

时间:2010-11-26 08:48:38

标签: spring annotations

我有以下问题:

使用Spring,我想将属性'password'引用的值传播到类变量:

 @Value("${password}")
 private String password;

只要spring可以找到名为'password'的属性,那就有效。由于不会为所有不同的执行定义,我希望能够在passwort属性不可用时分配默认值。

我找到了以下示例:

 @Value("${size_count?:5}")
 private int count;

这很有效。但是当我尝试使用相同的密码(对于String类型)时,它总是会计算为false并返回字符串'x',尽管已经定义了password属性。

 @Value("${password?:x}")
 private String password;

任何想法?

干杯 克里斯

2 个答案:

答案 0 :(得分:1)

尝试(我猜,不确定它是否有意义)

@Value("${password}?:'x'")

答案 1 :(得分:1)

?:用于Spring Expression Language,即#{...}

在属性占位符(${...})中,您需要使用:

@Value("${password:x}") 
private String password;