我想做类似的事情:

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


我的Yaml会在哪里:

appname: myapp
myapp:
  someVal: true


我该怎么做?

编辑:这不起作用:

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

最佳答案

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

看起来不是很优雅,但是这里是:



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


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

08-17 17:39