2011-06-30 15 views
1

インターフェイスに依存関係を使用する利点については、読んでいます。@AutowiredをSpringで使用する理由

私はインターフェイスのコンセプトを理解していますが、@Autowireをクラスに使用する理由は何ですか?私がクラスでオートワイヤーを使用する場合、私は事前にインプラントされたクラスとは何かを知っています。

私には何が欠けていますか?

答えて

3

1)利便性 - あなたは

2、あなたがコードや設定ファイルを入力するには時間を節約し、あなたのコンポーネントを初期化するための世話をする必要はありません)グッドプラクティス強制 - autowiredするためにあなたのコンポーネントがあることを記述する必要があります春と春の管理が可能で、あなたのエラーチェックに気を配り、すべてのエラーをポップします。したがって、コードはコンポーネントの共同作業の仕方で整理されます。

3)あなたのクラス/豆が成長し進化するときに、自動配線もあなたの努力を減らします。

+0

私はあなたの3番目の理由を理解していません。通常のBeanメンバーと異なるのはなぜですか? – Dejell

+0

春からの参照: "オートワイヤリングは、オブジェクトの進化に合わせて構成を更新することができます。例えば、クラスに依存関係を追加する必要がある場合、その依存関係は構成を変更することなく自動的に満たすことができます。コードベースがより安定したときに明示的な配線に切り替えるオプションを無効にすることなく、開発中に特に役立ちます。 – Random

+0

BTW - autowiredコラボレーターを呼び出すと、Springは候補者のためにApplicationCOntexをスキャンしています。ただし、autowiringが推奨されていないかどうかを確認するにはSpring Referenceドキュメントを参照してください。 – Random

1

@Autowireを使用し、コンストラクタを呼び出さない場合は、クラスをSpringコンテナによって動的に初期化するようにマークします。これにより、スプリング設定で定義されたクラスプロパティを設定できます。

0

我々はimplmenetedクラス あるもの 事前に私が知っているクラスにAutowireを使用して、XMLの代わりに注釈を通して依存関係を配線すると、それはそれ

のレギュラーメンバーのようなものだ場合は、あなたはまた、事前にを知っているクラスでそれを注入しようとしています。 しかし、依然としてInterfaceは依存関係として宣言されているため、実行時にこのインタフェースの実装を配線することができます。

+0

これは私の質問ではありませんでした。私の質問は、インターフェイスではなくクラスの配線です。また、XMLは@Autowireのような完全なアプリケーションをデプロイしなくても変更できます – Dejell

関連する問題