Java 如何使用Spring有条件地创建bean?
我有这样的模式:Java 如何使用Spring有条件地创建bean?,java,spring,factory,spring-bean,Java,Spring,Factory,Spring Bean,我有这样的模式: public class Factory { public GenericBean get(ContextEnum context, OneTypeArgs args) { switch (context) { case OneContext: Action a = new OneAction(args); return new GenericBean(a); case Tw
public class Factory {
public GenericBean get(ContextEnum context, OneTypeArgs args) {
switch (context) {
case OneContext:
Action a = new OneAction(args);
return new GenericBean(a);
case TwoContext:
Action b = new SecondAction();
return new GenericBean(b);
default:
throw new IllegalArgumentException();
}
}
}
如何避免使用switch语句并配置Spring,使其能够自行构造此类对象
我有两个问题,我不知道如何处理:
你查过了吗?我相信这对你的案例来说很方便。我看不出你的实现有什么问题。你觉得你的解决方案不合适,有什么具体原因吗?@RubensMariuzzo:在我的项目中添加/修改个人资料并不容易,我们必须遵循许多政治流程才能做到这一点。我不能在我的工厂里添加“仅仅是皮条客”的个人资料:)@Jeremy:这个例子非常简单,因为我试图用最小的数目来暴露我的问题。我有很多原因:我不喜欢“switch”语句,我不喜欢“new”关键字,我发现我的解决方案太单一。例如,如果我想模拟“OneAction”类进行测试,我不能。我想知道一种在这种情况下使用Spring的方法,因为我经常遇到这种问题。对不起,我的英语很差……那么所有的
操作实现相同的接口或扩展相同的类?GenericBean
是否总是收到一个Action
,但您总是返回一个GenericBean
实例?