在运行时选择2个Bean

问题描述

我正在使用Java Spring。

我有一个Bean,可以使用2种不同的方式来创建,这些方式只能在运行时使用.yml文件中的参数(布尔值)来决定。

解决此问题的简单方法是对参数使用简单的if条件,并根据其值调用所需的函数

有没有一种方法可以使用Spring注释而不是在我的代码上?

解决方法

是的,使用ConditionalOnProperty注释。

@ConditionalOnProperty(name = "key",havingValue = "true")
doThis() {

}

@ConditionalOnProperty(name = "key",havingValue = "false")
doThat() {

}