我有一个像这样的单例豆定义:
<bean id="exampleBean" class="com.examples.ExampleBean">
<property name="exampleBean2">
<bean class="com.examples.ExampleBean2" />
</property>
</bean>
ExampleBean
可能是:public class ExampleBean {
private ExampleBean2 exampleBean2;
public ExampleBean() { }
public ExampleBean2 getExampleBean2() { return exampleBean2; }
public void setExampleBean2(ExampleBean2 exampleBean2) { this.exampleBean2 = exampleBean2; }
}
问题在于,在某些情况下,
com.examples.ExampleBean2
class
在运行时可能不存在,当IoC尝试实例化exampleBean
时,它将导致错误。我需要的是忽略IoC中的此错误,并允许创建
exampleBean
,但保留exampleBean2
属性null
。所以问题是:这有可能吗?
感谢你的帮助。
最佳答案
如果您使用自动装配,则可以实现您想要的目标。
<bean class="com.examples.ExampleBean" autowire="byType" />
<bean class="com.examples.ExampleBean2" />
或通过注释
@Autowired(required=false)
ExampleBean2 exampleBean2;