IOC는 일반적으로 우리가 Control Reversal이라고 부르는 것입니다. 이는 또한 Java의 초점이며 종종 인터뷰 중에 요청됩니다.
제어의 역전 (영어 약어의 IOC)은 프레임 워크의 중요한 기능이며 객체 지향 프로그래밍을위한 특별한 용어가 아닙니다. 의존성 주입 (DI) 및 종속성 조회가 포함됩니다.
IOC는 프로그램이 새로운 개체의 시작부터 타사 프레임 워크의 생성 및 주입에 이르기까지 객체를 얻는 방식을 변경합니다. 타사 프레임 워크는 일반적으로 구성을 통해 주입되는 구현을 지정하여 소스 코드의 결합을 줄입니다.
IOC의 가장 큰 이점은 무엇입니까?
객체 생성은 XML로 정의되므로 구현 서브 클래스 (일반적으로 이러한 객체는 어떤 종류의 인터페이스에서는 현실적 임)로 변경해야 할 때 매우 간단 해지고 XML을 수정하여 객체의 핫 플러그 (USB 인터페이스 및 SCIS 하드 디스크)를 구현할 수 있습니다.
IOC는 구현 방법에 따라 종속성 주입 (DI) 및 종속성 검색으로 나눌 수 있습니다.
DI는 반전을 제어하기위한 주요 기술적 접근법이며, 세터 주입 및 생성자 주입으로 나뉘어져 있습니다.
세터 주입
매개 변수가없는 생성자 또는 정적 매개 변수가없는 공장 메소드를 호출하여 Bean을 인스턴스화 한 후, Setter 주입을 실현하기 위해 Bean의 세터 메소드가 호출됩니다.
공개 클래스 jdbcdatasource () {private String driver; public void setdriver (문자열 드라이버) {class.forname (driver); this.driver = driver;}} ...............다음으로 Setter Injection Configuration XML 파일을 구현하십시오
<bean id = "dataSource"> <property name = "driver"value = "oracle.jdbc.oracledriver"/> <property name = "url"value = "jdbc : oracle : thin : @localhost : @localhost : 1521 : orcl"/> <property name = "user"value = "andreny"/> <valess = "root" "/>"/>.
생성자 주입
이것은 매개 변수가있는 생성자를 호출하여 달성됩니다. 컨테이너가 인스턴스화되면 해당 생성자는 매개 변수 유형에 따라 실행됩니다.
공개 클래스 OracleUserdao는 userdao {private jdbcdatasource datasource; public oracleuserdao (jdbcdatasource dataSource) {this.datasource = datasource;}} ................Construct 매개 변수 인덱스별로 주입을 지정하십시오
<bean id = "dataSource"> <proerty name = "driver"value = "oracle.jdbc.oracledriver"/> <property name = "url"value = "jdbc : oracle : thin : @localhost : @localhost : 1521 : orcl"/> <property name = "user"value = "andreny"valess ""/>/bean> < id = "userDao"> <PUSTUTOR-ARGINDEX = "0"ref = "DataSource"/> </bean>
요약
위의 것은 Spring의 IOC 코드 분석에 관한 것입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구들은이 사이트를 계속 참조 할 수 있습니다.
Spring 's IOC 및 Di에 대한 자세한 설명
Spring의 IOC 시뮬레이션 구현에 대한 자세한 소개
단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!