IOC & Container
5852 ワード
国際制御委員会(Inversion of Control、制御に逆行)
国際オリンピック委員会の概要
「ランタイム」では、
新しいオブジェクトXを直接接続する
ゆったりした
DL->接続プール、必要に応じて
IOCタイプ
Dependency Lookup
コンテナは、コンテキストを検索することによって必要なリソースまたはオブジェクトを取得します.
関連コードの作成、フォーマットの変換、エクスポートが必要です
Dependency Injection
コンテナを指定すると、オブジェクトに直接依存構造(xml、annotation)を設定できます.
オブジェクトは、コンテナが存在するかどうかを知る必要はありません.Lookup関連コードは不要です.
Container
オブジェクトの作成、使用、破棄のライフサイクルを担当します.
機能:ライフサイクルの管理、依存オブジェクトの提供
ファクトリ・モードまたはシングル・ポイント・モードを直接実装することなく、サービス・オブジェクトを使用できます.
IOC Container
オブジェクトの作成、リレーションシップの確立、使用、削除は、コードではなく独立したコンテナによって担当されます.
オブジェクトに対する制御権を持つ
スプリング容器=IOC容器
SpringのIOC担当コンテナには、BeanFactory、ApplicationContextが含まれています.
BeanFactory:オブジェクトを作成するファクトリ
Application Context:BFサブクラス、管理アプリケーションのコンテキスト、メモリ領域
Spring DI Container
Spring DI Containerが管理するオブジェクトをbeanと呼び、BeanFactoryと呼ばれるbeanのライフサイクルを管理します.
BeanFactoryには、ApplicationContextと呼ばれる複数のコンテナ機能が追加されています.
通常、ApplicationContextを使用します.
国際オリンピック委員会の概念
既存:開発者に必要なオブジェクト作成ロジックの実装
IOC:Container処理
オブジェクト間の結合度(松結合)
カスケード
1.クラス呼び出し方式:オブジェクトからオブジェクトへの強い結合、変更不可
2.インタフェース呼び出し方式:多形性により結合度を下げ、インタフェース交換時に呼び出しクラスを修正する
3.工場呼び出し:工場によって結合度を下げ、工場に依存する
4.IoCコール方式:工場の優位性に依存しない.実行時にクラス間の関係を確立する
コード#コード#
ApplicationContextオブジェクトが必要です.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<bean id = "kor" class = "com.ssafy.hello.di4.HelloMessageKor">
</beans>
xml設定public class HelloMain {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("xml위치");
//객체 생성
HelloMessage helloMessage = context.getBean("kor", HelloMessageKor.class);
//이름, 클래스
}
}
Reference
この問題について(IOC & Container), 我々は、より多くの情報をここで見つけました https://velog.io/@taurus429/IOC-Containerテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol