0

我想做类似的事情:

@ConditionalOnProperty("${${appname}.someVal}")
@Controller
public class MyController {...}

我的 yaml 将在哪里:

appname: myapp
myapp:
  someVal: true

我该怎么做?

编辑:这不起作用:

@Value("#{'${appname}.someVal'}")
4

1 回答 1

2

要评估 SpEL,请使用@ConditionalOnExpression而不是@ConditionalOnProperty.

看起来不是很优雅,但它是:

@ConditionalOnExpression("#{environment.getProperty('${appname}.someVal') == 'true'}")

environment引用了一个 bean,org.springframework.core.env.Environment它在每个 Spring Boot 应用程序中都可用。

于 2017-10-31T23:10:49.517 回答