0

クラスがあります

public class MakeMeBean {
  @Autowired private IAmBean var1;
  private IAmNOTBean var2;

  public MakeMeBean() {}

  public MakeMeBean(IAmNOTBean var) {
    this.var2 = var;
  }
}

このクラスをBeanとして作成したいのでwireup.xml

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

質問
a。)1つのインスタンス変数がBeanであり、別のインスタンス変数がBeanではないBeanを作成するにはどうすればよいですか?wireup.xmlvar2(の別のBean ) を注入したくない

b。)<PUT REFERENCE BEAN HERE>はjarファイルからインポートされたBeanですが、このBeanを参照するにはどうすればよいですか?wireup.xml

4

1 に答える 1

0

作成したコンテキスト内にいくつかの Bean を作成し、Spring が作成した別の半分を作成することはできません (少なくともそれほど単純ではありません)。Spring でインスタンスを管理する場合、Spring はそのコンテキストにオブジェクトを配置する必要があります。もちろん、コンテキスト内でオブジェクトをインスタンス化する可能性があり、インスタンス化後にいくつかのセッターを呼び出していくつかのプロパティを設定できます。

別の Bean を使用して別の Bean を使用するには、別の Spring コンテキストから来ていると思われます。他の Spring コンテキストを最初のコンテキストにインポートする必要があります。コンテキスト ファイルをインポートするには、次を使用できます。

<import resource="resourcePath" />
于 2012-07-09T21:27:42.817 に答える