conditionalonproperty可以使用嵌套的属性值吗?

55ooxyrt  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(407)

我想做一些类似的事情:

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

我的yaml会:

appname: myapp
myapp:
  someVal: true

我该怎么做?
编辑:这不起作用:

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

oxosxuxt1#

要评估spel,请使用 @ConditionalOnExpression 而不是 @ConditionalOnProperty .
看起来不是很优雅,但这里是:

@ConditionalOnExpression("#{environment.getProperty('${appname}.someVal') == 'true'}")
``` `environment` 引用实现 `org.springframework.core.env.Environment` 这是可在每个 Spring 启动应用程序的开箱即用。

相关问题