春 - @Autowiredノートや注釈の違いSpringmvc @Resource

春は@Autowired注釈独自の定義をサポートしていますが、また、定義されたJSR-250の仕様で複数のノートをサポートするだけでなく、彼らはPostConstructと@PreDestroy、@リソース@です。
  @Resource効果@Autowiredに相当するが、@Resourceのデフォルトは自動的にBYNAME何もで注入しながら、自動的に注入さbyTypeによって@Autowired。@Resourceは二つの属性がより重要である持っている、名前とタイプは、春にはtype属性は、Beanのタイプに解決され、注釈のname属性は、Beanの名前に解決@Resourceすることを指します。ですから、name属性を使用している場合BYNAME自動注入戦略を使用し、type属性byType自動注入方式を使用するときに使用されます。どちらのタイプの属性名が割り当てられている場合は、自動注射戦略のケースは、リフレクションを使用してBYNAME。
  @Resource組立順序
  1.名前およびタイプの両方の場合、Springコンテキストから例外がスローされる見つけることができない、組み立てられた豆のユニークな一致を見つけるために
  (ID)名を見つけ、名前が指定されている場合、文脈から、2。 Beanは組み立てマッチング、例外がスローされます見つけることができない
  タイプが指定されている場合は、組み立てられた型と一致するコンテキストからのみBeanは、見つける以上見つけ、例外がスローされますすることはできません3.
  4.ない場合の両方を自動組立BYNAMEの方法によれば、名前、および指定しないタイプを指定し、一致がない場合は、一致が自動的に組み立てられる場合、マッチは、バックオフプリミティブ型です。
@Autowiredと@Resource差:
 
1、@Autowired @Resourceと豆を組み立てるために使用することができる。フィールドは、上に書かれたまたはセッターメソッドで書かれていないことができます。
2、@Autowiredデフォルトの型押しが依存オブジェクトを使用すると、null値を許可する場合は、存在していなければならないなど、その必要なプロパティがfalseに設定することができ、請求にデフォルトで(このコメントは春に属している)フィッティング:@Autowired(=偽必要私たちは、アセンブリの名前を使用したい場合は、次のように)、使用するために注釈を@Qualifier組み合わせることができます。
修飾子(「BaseDao」)@ @Autowired()
privateBaseDao BaseDao;
name属性を指定しない場合の注意事項を書き込むとき3、@リソース(この注釈は、J2EEに属している)、組み立てデフォルトのインストールの名前、名前は、name属性で指定することができますとき、フィールドの属性セッターメソッドに書かれたノートがアセンブリのデフォルト名を取る場合は、インストールのデフォルトの名前検索フィールド名を取ります。豆の種類に応じて、組み立てられたときには、一致する名前が見つかりません。しかし、指定された場合、名前は属性場合は、名前だけで組み立てられることに注意してください。
@Resource(名前=「BaseDao」)
privateBaseDao BaseDao;
推奨:フィールド上の@Resourceアノテーションは、そのsetterメソッドを書いていない、とこのコメントは春の結合を低減、J2EEの一部です。このコードは比較的エレガントな外観です。

おすすめ

転載: www.cnblogs.com/tieandxiao/p/10931428.html