インタビュー記事の自動アセンブリアノテーション @Autowired と @Resource の違い

どちらも自動で組み立てることができ、機能も似ていますが、それでもかなりの違いがあります。


@Resource は Spring に属していませんが、Spring をサポートしているため、インポートする必要があります。

インポートjakarta.annotation.Resource;

@Autowired には Spring が付属しています

org.springframework.beans.factory.annotation.Autowired をインポートします。


@Autowired は次のように型注入のみを使用します。



デフォルトでは、オブジェクトが存在する必要があり、存在しない場合はエラーがスローされます。null 値が許可される場合は、required を false に設定する必要があります。名前でアセンブルしたい場合は、 @Qualifier と一緒に使用する必要があります



@Resource はデフォルトで名前に従って自動的に組み立てられますが、名前とタイプという 2 つの重要な属性があり、単語に応じて考えることができます。1 つは種類ごと、もう 1 つは名前ごとです。どちらも指定しない場合、デフォルトで名前が自動インジェクションに使用されます。

 

おすすめ

転載: blog.csdn.net/weixin_69218754/article/details/130780001