处理 SPEL 条件表达式时出错
Error processing SPEL conditional expression
我有一项服务,我正在尝试使用 @ConditionalOnExpression
添加条件表达式。
我的 属性 文件中有两个属性:
module.enabled
其中包含一个布尔值
my.datasource
其中包含一个字符串。
我想要这样的东西:
module.enable is true AND my.datasource is not empty
这是我迄今为止尝试过的方法:
@ConditionalOnExpression("${my.datasource} != '' && ${module.enabled}")
但是我得到一个处理错误异常。
我做错了什么?
谢谢。
这样写就可以实现
@Configuration
@ConditionalOnProperty({"my.datasource", "module.enabled"})
@ConditionalOnExpression(value = "'${my.datasource}' != '' and ${module.enabled}")
class Config {
// Rest of the code
}
确保你有 @ConditionalOnProperty({"my.datasource", "module.enabled"})
如果你没有并且没有定义属性那么 SpEL
表达式将被错误地评估,你可能会得到 invalid expression exception
我有一项服务,我正在尝试使用 @ConditionalOnExpression
添加条件表达式。
我的 属性 文件中有两个属性:
module.enabled
其中包含一个布尔值
my.datasource
其中包含一个字符串。
我想要这样的东西:
module.enable is true AND my.datasource is not empty
这是我迄今为止尝试过的方法:
@ConditionalOnExpression("${my.datasource} != '' && ${module.enabled}")
但是我得到一个处理错误异常。
我做错了什么?
谢谢。
这样写就可以实现
@Configuration
@ConditionalOnProperty({"my.datasource", "module.enabled"})
@ConditionalOnExpression(value = "'${my.datasource}' != '' and ${module.enabled}")
class Config {
// Rest of the code
}
确保你有 @ConditionalOnProperty({"my.datasource", "module.enabled"})
如果你没有并且没有定义属性那么 SpEL
表达式将被错误地评估,你可能会得到 invalid expression exception