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" />

构造函数只有一个参数。我不清楚为什么要提供两个构造函数参数。那不行。