web-dev-qa-db-ja.com

CDI @Producesアノテーションに相当するSpringはどれですか?

CDIを使用していたときは、 @Produces アノテーションを使用して、呼び出されるプロデューサーメソッドを作成し、インターフェイスを実装するBeanを@Injectによって注入するかどうかを選択できました。注釈。

今はSpringで作業していますが、似たようなものは見つかりませんでした。 @Producesアノテーションを使用するときに、CDIの@Autowiredアノテーションで得たのと同じ結果を達成するために何を使用する必要がありますか?

19
Renato Dinhani

あなたが探している @Bean

@Beanは、メソッドレベルのアノテーションであり、XML <bean/>要素の直接の類似物です。アノテーションは、init-method、destroy-method、autowiring、lazy-init、dependency-check、depends-on、scopeなど、<bean/>によって提供されるほとんどの属性をサポートします。

例(上記のリンクから取得):

@Configuration
public class AppConfig {
    //similar to @Produces CDI annotation
    @Bean
    public TransferService transferService() {
        return new TransferServiceImpl();
    }
}

これを読むことをお勧めします: 春のDIとCDIの比較研究

20
Luiggi Mendoza