Spring boot - @ConditionalOnProperty或@ConditionalOnExpression

Mod*_*odi 17 spring-boot

我正在使用Spring-Boot-1.1.7.我的目的是根据string类型的属性值将bean添加到我的上下文中.

我的意思是,我可以看到许多布尔值的例子,例如:

@ConditionalOnExpression("${xxx.enabled:true}")
Run Code Online (Sandbox Code Playgroud)

但我想要一个基于属性值的表达式,例如:

@ConditionalOnExpression("${server.host==localhost} or ${server.port==8080} ")
Run Code Online (Sandbox Code Playgroud)

或类似的东西.

有人能告诉我一个如何做的例子吗?

dav*_*orp 23

对于属性值条件我使用:

@ConditionalOnProperty(name="server.host", havingValue="localhost")
Run Code Online (Sandbox Code Playgroud)


Mod*_*odi 22

最终,这个对我有用:

@ConditionalOnExpression("'${server.host}'=='localhost'")
Run Code Online (Sandbox Code Playgroud)