相关疑难解决方法(0)

如何在Spring @Value注释中正确指定默认值?

最初,我有以下规范:

@Value("#{props.isFPL}")
private boolean isFPL=false;
Run Code Online (Sandbox Code Playgroud)

这可以很好地正确获取属性文件中的值:

isFPL = true
Run Code Online (Sandbox Code Playgroud)

但是,以下带有默认值的表达式会导致错误:

@Value("#{props.isFPL:false}")
private boolean isFPL=false;
Run Code Online (Sandbox Code Playgroud)

表达式解析失败; 嵌套异常是org.springframework.expression.spel.SpelParseException:EL1041E:(pos 28):解析有效表达式后,表达式中还有更多数据:'冒号(:)'

我也尝试用$而不是#.

@Value("${props.isFPL:true}")
private boolean isFPL=false;
Run Code Online (Sandbox Code Playgroud)

然后注释中的默认值工作正常,但我没有从属性文件中获取正确的值:

java spring annotations properties

23
推荐指数
3
解决办法
5万
查看次数

标签 统计

annotations ×1

java ×1

properties ×1

spring ×1