5

@ImportResources アノテーションを使用して xml ファイルをインポートする Java 構成クラスがあります。Java 構成では、xml 構成で定義されている Bean を参照したいと思います。

@Configuration
@ImportResource({
        "classpath:WEB-INF/somebeans.xml"
    }
)
public class MyConfig {
    @Bean
    public Bar bar() {
        Bar bar = new Bar();
        bar.setFoo(foo); // foo is defined in somebeans.xml
        return bar;
    }
}

somebeans.xmlで定義したbean fooを、java configクラスで作成するbar beanに設定したいです。フービーンはどうやって手に入れるの?

4

1 に答える 1

13

構成クラスにフィールドを追加して注釈を付ける@Autowiredか、メソッドに追加@Autowiredして型の引数を渡します。

public class MyConfig {

    @Autowired
    private Foo foo;

    @Bean
    public Bar bar() {
      Bar bar = new Bar();
      bar.setFoo(foo); // foo is defined in somebeans.xml
      return bar;
    }
}

また

public class MyConfig {
    @Bean
    @Autowired
    public Bar bar(Foo foo) {
        Bar bar = new Bar();
        bar.setFoo(foo); // foo is defined in somebeans.xml
        return bar;
    }
}

これはリファレンスガイドですべて説明されています。

于 2013-09-09T11:11:37.227 に答える