我有以下类结构
public class Outer{
private Mapper a;
....
private class MapperA implements Mapper {
}
private class MapperB implements Mapper {
}
}
在我的 Spring 配置文件中,我想创建一个 Outer bean,并将 MapperA 或 MapperB 之一分配为属性。这可能吗?
<bean id="outer" class="mypackage.Outer">
<property name="a" ?????='????' />
</bean>
编辑:更多信息,基于答案的反馈:
我对上面的例子变得懒惰了。我确实有一个用于 Mapper 实例变量的公共 setter/getter。
所有 Mapper 类都是内部类的原因是因为它们可能有很多,而且它们只会在这个类中使用。我只是不希望我的项目中有大量杂乱无章的课程。也许工厂方法是一个更好的主意。