Java Spring@ConditionalOnExpression with OR语句

Java Spring@ConditionalOnExpression with OR语句,java,spring,annotations,Java,Spring,Annotations,我有一个@ConditionalOnExpression,它使用我的application.properties中的属性。我希望@ConditionalOnExpression使用OR条件,以便在属性的三个不同值中有一个存在时触发 @ConditionalOnExpression("'${env.name}'=='prod' or '${env.name}' == 'alsoProd'") 我好像没法让它工作。那么,甚至可以在@ConditionalOnExpression中使用OR语句吗 @

我有一个@ConditionalOnExpression,它使用我的application.properties中的属性。我希望@ConditionalOnExpression使用OR条件,以便在属性的三个不同值中有一个存在时触发

@ConditionalOnExpression("'${env.name}'=='prod' or '${env.name}' == 'alsoProd'")
我好像没法让它工作。那么,甚至可以在@ConditionalOnExpression中使用OR语句吗

@ConditionalOnExpression("'${env.name}'=='prod'", "'${env.name}' == 'alsoProd'")
试试这个

@ConditionalOnExpression("'${env.name}'=='prod'", "'${env.name}' == 'alsoProd'")

Spring表达式语言SpEL允许定义列表

在比较相同的值两次时,只需定义一个列表并检查环境名称是否在该列表中

@ConditionalOnExpression("{'prod', 'alsoProd'}.contains('${env.name}')")

Spring表达式语言SpEL允许定义列表

在比较相同的值两次时,只需定义一个列表并检查环境名称是否在该列表中

@ConditionalOnExpression("{'prod', 'alsoProd'}.contains('${env.name}')")

您的问题中的示例应该可以正常工作,并且在Spring的文档中是有效的:


您确定它不起作用吗?

您的问题中的示例应能正常工作,并且对Spring的文档有效:


你确定它不起作用吗?

试试这个试试这个谢谢!我明天会试试的谢谢!我明天会试试