1.フロンティア
Springでは、依存性注入にAutowiredアノテーションまたはResourceアノテーションを使用することがよくあります。どちらもフィールドまたはフィールドのセッターメソッドに書き込むことができますが、両者には違いがあります。
自動配線:デフォルトでは、タイプに従ってインジェクションをアセンブルします。名前に従ってインジェクションをアセンブルする場合は、@ Qualifierと組み合わせて使用します。デフォルトでは、依存オブジェクトが存在する必要があります。null値を許可する場合は、次のように、必須属性をfalseに設定できます。@ Autowired(required = false)
リソース:デフォルトでは、名前に従ってインジェクションをアセンブルします。名前に一致するBeanが見つからない場合にのみ、インジェクションはタイプに従ってアセンブルされます。名前が指定されていない場合、注釈がフィールドにあると、デフォルトでフィールド名が名前で検索するために使用されます。注釈がセッターに書き込まれている場合、属性名はデフォルトでアセンブリに使用されます。ただし、name属性を指定すると、名前に従ってのみアセンブルおよび挿入できることに注意してください。
リソースアノテーションはJ2EEによって提供されるため、システムのSpringへの依存を減らすために、リソースアノテーションを使用することをお勧めします。
自動配線されたアノテーションはSpringによって提供されます
次のデモ例では、それぞれAutowiredとResourceを紹介しています。
2、自動配線された注釈
使用したデモ例を見てみましょう
2.1タイプの自動アセンブリに従って依存性を注入する
構成ファイルは次のとおりです。
使用されるコードは次のとおりです(タイプに応じた自動アセンブリ注入)。
2.2名前に従って依存性を自動的に注入する
名前による自動アセンブリインジェクションの依存関係は、@ Qualifierと組み合わせて使用する必要があります。具体的なコードは次のとおりです。
3、リソースアノテーション
デモの例を見てみましょう。
3.1、インジェクションを組み立てるためのデフォルト名による
3.2。指定された名前に従ってインジェクションを組み立てます
4、まとめ
自動アセンブリ依存性注入の方法に関係なく、名前の種類に従ってアセンブルする場合、つまり@Autowiredを@Qualifierと組み合わせて使用する場合、または@Resourceで名前を指定する場合は、サービスの名前をアノテーション@に書き込む必要があります。サービス