私は SpringSource に関するいくつかのブログを読んでいますが、そのうちの 1 つのブログでは、著者が を使用しており@Inject
、 も使用できると思います@Autowired
。
コードは次のとおりです:
@Inject private CustomerOrderService customerOrderService;
@Inject
では、 との使用の違いは何でしょうか。@Autowired
その違いと、どのような状況でどちらを使用すればよいのかを説明していただければ幸いです。
ベストアンサー1
ここであなたが言及しているのはjavax.inject.Inject
アノテーション。Java @Inject
CDI (コンテキストと依存性注入) Java EE 6で導入された標準(JSR-299)続きを読む@Inject
Spring は、独自の@Autowired
アノテーションと同義にアノテーションを使用することをサポートすることを選択しました。
それで、あなたの質問に答えると、@Autowired
は Spring 独自のアノテーションです。@Inject
は、Spring に似た依存性注入の標準を定義する CDI と呼ばれる Java テクノロジの一部です。 Spring アプリケーションでは、Spring が独自のアノテーションに加えていくつかの JSR-299 アノテーションをサポートすることを決定したため、2 つのアノテーションは同じように機能します。