CDIを使用していたときは、 @Produces
アノテーションを使用して、呼び出されるプロデューサーメソッドを作成し、インターフェイスを実装するBeanを@Inject
によって注入するかどうかを選択できました。注釈。
今はSpringで作業していますが、似たようなものは見つかりませんでした。 @Produces
アノテーションを使用するときに、CDIの@Autowired
アノテーションで得たのと同じ結果を達成するために何を使用する必要がありますか?
あなたが探している @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の比較研究