Spring Framework の @Inject と @Autowired の違いは何ですか? どのような状況でどちらを使用すればよいですか? 質問する

Spring Framework の @Inject と @Autowired の違いは何ですか? どのような状況でどちらを使用すればよいですか? 質問する

私は SpringSource に関するいくつかのブログを読んでいますが、そのうちの 1 つのブログでは、著者が を使用しており@Inject、 も使用できると思います@Autowired

コードは次のとおりです:

@Inject private CustomerOrderService customerOrderService;

@Injectでは、 との使用の違いは何でしょうか。@Autowiredその違いと、どのような状況でどちらを使用すればよいのかを説明していただければ幸いです。

ベストアンサー1

ここであなたが言及しているのはjavax.inject.Injectアノテーション。Java @InjectCDI (コンテキストと依存性注入) Java EE 6で導入された標準(JSR-299)続きを読む@InjectSpring は、独自の@Autowiredアノテーションと同義にアノテーションを使用することをサポートすることを選択しました。

それで、あなたの質問に答えると、@Autowiredは Spring 独自のアノテーションです。@Injectは、Spring に似た依存性注入の標準を定義する CDI と呼ばれる Java テクノロジの一部です。 Spring アプリケーションでは、Spring が独自のアノテーションに加えていくつかの JSR-299 アノテーションをサポートすることを決定したため、2 つのアノテーションは同じように機能します。

おすすめ記事