@ConditionalOnProperty可以使用嵌套属性值



我想做这样的事情:

@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 应用程序中都开箱即用。

相关内容

  • 没有找到相关文章

最新更新