【发布时间】:2019-09-02 03:16:57
【问题描述】:
我想根据工厂类中的条件返回多个spring bean。
这是一个好习惯吗?
有没有更好的方法来编写以下代码? 还有其他适合这里的设计模式吗?
下面是sn-p的代码:
package com.test;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Component
public class InstanceFactory {
@Resource(name = "instance1")
private Instance instance1;
@Resource(name = "instance2")
private Instance instance2;
public Instance getService(Condition condition) {
if (condition.one() && condition.two()) {
return instance2;
} else {
return instance1;
}
}
}
【问题讨论】:
-
对我来说看起来非常好。虽然这可能取决于您的实际情况。
-
这看起来像是codereview.stackexchange.com的问题
-
你知道FactoryBeans吗?或者根据情况,配置文件可能有用。为了有一个明确的答案,应该有更多的细节。
-
感谢 @biziclop 和 Nathan Hughes。我将研究 FactoryBeans
标签: java spring design-patterns factory