@Resource は、Bean が Spring コンテナーによって管理されることを意味します。通常、リソースはインターフェイスに直接ではなく、クラスまたはインターフェイスの実装クラスに書き込まれます。 Spring コンテナーで管理するということは、クラスをインスタンス化するときに Spring が自動的にオブジェクトを作成することを意味します。
@Autowired は、属性 (通常は属性または set メソッドに記述されます) が Spring によって自動的に挿入されることを示します。リソースが Spring コンテナーに存在する場合にのみ (リソースが追加された Bean はリソースとして扱われます)、Spring はそれを自動的に注入できます。 Spring コンテナーにそのようなリソースがない場合、それを自動的に挿入すると、確実にリソースを見つけることができず、エラーが報告されます。
リーリー
これは
@Resource
アノテーションの紹介です。@Resource
がフィールドまたはメソッドで使用されると、Spring はコンテナから必要なタイプの Bean を検索します。それをリソースとして Spring コンテナーに置きます。@Resource
アノテーションは、Spring コンテナにこの Bean を自動的に挿入させることを意味します。
の使用には問題があります。これは実装クラス@Autowired
アノテーションを使用しない場合、Spring コンテナに現在アノテーションが付けられているクラスを引き渡すことを意味します。コンテナはこのタイプの Bean をロードしません。注入が必要な場合は、当然エラーが報告されます@Resource
@Resource
インターフェースでのに配置する必要があります。
統合され、春の経営陣に引き継がれる
最初のインターフェースに @Resource が追加されていない場合、インターフェースの実装は Spring によって管理されないため、インターフェースを参照する後続のインジェクションは失敗します
@Resource アノテーション宣言。@Autowired を使用して Bean が見つからないと宣言したわけではありません。
このように単純に理解できます。spring と呼ばれるリソース プールでは、@Resource @Controller やその他のメソッドを使用する必要があります。プールに宣言を作成します
@Autowired @Named などのメソッドを使用して取り出します
@Resource
は、Bean が Spring コンテナーによって管理されることを意味します。通常、リソースはインターフェイスに直接ではなく、クラスまたはインターフェイスの実装クラスに書き込まれます。 Spring コンテナーで管理するということは、クラスをインスタンス化するときに Spring が自動的にオブジェクトを作成することを意味します。
@Autowired
は、属性 (通常は属性または set メソッドに記述されます) が Spring によって自動的に挿入されることを示します。リソースが Spring コンテナーに存在する場合にのみ (リソースが追加された Bean はリソースとして扱われます)、Spring はそれを自動的に注入できます。 Spring コンテナーにそのようなリソースがない場合、それを自動的に挿入すると、確実にリソースを見つけることができず、エラーが報告されます。
適切な例と不適切な例
駅に荷物レジ (スプリングコンテナ) があり、そのコンテナに荷物を保管したいと考えています。パッケージに @Resource タグを付けると、スタッフがリソースがあなたのものであることを示す小さなメモを渡します。パッケージを取得する (リソースを取得する) 場合は、ストリップ (@Autowired) を取得して、パッケージ レジスタ内のリソースを見つけることができます。
あなたのバッグが実際にコンテナに保管されている場合、そのバッグはあなたのメモに従ってあなたに渡されます。
バッグをコンテナに預けていないが、スタッフにバッグを要求したい場合は、エラーを報告してください。あなたはスタッフとの決闘を開始します。 。 。 。 。 。 。 。 。 。 。 。 。 。
春はとてもまっすぐです。持っていない場合は、差し上げます。リソースがない場合は、もう一度要求してください。エラーを報告させていただきます! ! !
追伸: 示されている例はわかりにくいので、ご自身で理解してください。