依存関係の注入と検索
依存関係とは?
2つのクラスまたはモジュールが依存している場合は、常に方向性を持つ必要があります.ここで、依存(依存関係)とは、依存オブジェクトが変化すると、依存クラスに影響を与えることを意味します.
ちゅうにゅう依存
依存関係注入とは、実行時に特定の依存オブジェクト(実際にオブジェクトオブジェクトオブジェクトを使用)と、それを使用するボディ(通常クライアントと呼ばれるオブジェクト)を接続する操作です.
注入依存関係は、次の条件を満たす必要があります.
依存関係の検索
Springが提供するIoC法は依存関係注入だけでなく依存関係探索もある.依存関係検索は,コード内で特定のクラスに依存せず,実行時に依存関係を決定する点で依存関係注入と似ているが,異なるのは,依存関係を確立する方法は外部から注入するのではなく,自分で検索を用いることである.依存関係検索では、必要な依存オブジェクトをアクティブに検索できます.実行時には、依存関係を確立するオブジェクトとオブジェクトの作成がIoCとして外部コンテナに渡されると判断しますが、インポート時には、コンストラクション関数やメソッドではなくコンテナに要求するメソッドが使用されます.
public UserDao() {
DaoFactory daoFactory = new DaoFactory();
this.connectionMaker = daoFactory.connectionMaker();
}
上記のソースコードでは、UserDaoは、自分がどのConnectionMakerオブジェクトを使用するかを事前に知らない.ConnectionMakerインタフェースに依存し、実行時にデータ・ファクトリから返されるオブジェクトと依存関係を確立します.しかし,注入依存関係とは異なり,IoC容器DaoFactoryに独自の手法を要求している.Application contextは、予め定められた名前を渡し、その名前に対応するオブジェクトを検索するので、検索と見なすことができます.ターゲットオブジェクトは実行時依存関係のオブジェクトであるため、依存関係検索と呼ばれます.さらに、アプリケーションコンテキストはSpringのIoCコンテナであり、依存関係を検索する方法getBean()を提供します.getBean()メソッドを使用して、依存関係検索でオブジェクトをインポートします.両者の重要な違いは、依存関係検索で検索されたオブジェクトがスプリング空席である必要がなく、依存関係注入では、両方のクラスがスプリングコンテナで作成された空のオブジェクトである必要があります.
Reference
この問題について(依存関係の注入と検索), 我々は、より多くの情報をここで見つけました https://velog.io/@minwest/의존관계-주입과-검색テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol