英文:
Choose between 2 Beans in runtime
问题
我正在使用Java Spring。
我有一个Bean,我可以以2种不同的方式创建它,这将仅在运行时通过来自.yml
文件的参数(布尔值)来决定。
解决这个问题的简单方法是在参数上使用简单的if
条件,并根据其值调用所需的函数。
是否有一种方法可以使用Spring注解来做,而不是在我的代码中处理?
英文:
I am using Java Spring.
I have a Bean that I can create in 2 different ways which will be decided on runtime only, using a parameter (boolean) from .yml
file.
The easy way to solve it is to use a simple if
condition on the parameter and call the function needed according to it's value.
Is there a way to do it using Spring annotation and not on my code?
答案1
得分: 2
是的,可以使用ConditionalOnProperty注解。
@ConditionalOnProperty(name = "key", havingValue = "true")
doThis() {
}
@ConditionalOnProperty(name = "key", havingValue = "false")
doThat() {
}
英文:
Yes, using the ConditionalOnProperty annotation.
@ConditionalOnProperty(name = "key", havingValue = "true")
doThis() {
}
@ConditionalOnProperty(name = "key", havingValue = "false")
doThat() {
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论