Java Spring:如果一个构造函数arg是ref bean,而另一个不是,如何使类成为bean?
我有一节课Java Spring:如果一个构造函数arg是ref bean,而另一个不是,如何使类成为bean?,java,spring,Java,Spring,我有一节课 public class MakeMeBean { @Autowired private IAmBean var1; private IAmNOTBean var2; public MakeMeBean() {} public MakeMeBean(IAmNOTBean var) { this.var2 = var; } } 我想把这个类做成一个bean,所以我把wireup.xmlas <bean id="make-me-bean" clas
public class MakeMeBean {
@Autowired private IAmBean var1;
private IAmNOTBean var2;
public MakeMeBean() {}
public MakeMeBean(IAmNOTBean var) {
this.var2 = var;
}
}
我想把这个类做成一个bean,所以我把wireup.xml
as
<bean id="make-me-bean" class="com.blah.blah.MakeMeBean">
<constructor-arg index="0" ref=<PUT REFERENCE BEAN HERE>
<constructor-arg index="1" <I don't want to put anything>
</bean>
您不能只在您创建的上下文中包含一些bean,而在spring创建的上下文中包含另一半bean(至少不是那么简单),如果您希望通过spring管理实例,spring应该在其上下文中包含对象。当然,您可以在上下文中实例化对象,在实例化之后,您可以调用一些setter来设置一些属性
为了使用另一个bean来使用另一个bean,我认为它来自另一个Spring上下文,需要在第一个Spring上下文中导入另一个Spring上下文。要导入上下文文件,您可以使用:
<import resource="resourcePath" />
构造函数只有一个参数。我不清楚为什么要提供两个构造函数参数。那不行。