在运行时在 2 个 Bean 之间进行选择

Choose between 2 Beans in runtime

我正在使用 Java Spring.

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

解决它的简单方法是在参数上使用一个简单的 if 条件,并根据它的值调用所需的函数。

有没有办法使用 Spring 注释而不是在我的代码中做到这一点?

是,使用 ConditionalOnProperty 注释。

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

}

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

}