본문 바로가기
Web/Spring

Spring(4) - IoC와 DI

by SeleniumBindingProtein 2022. 1. 29.
728x90
반응형

1. IoC (Inversion of Container) 개념    
    1) 객체의 생성, 생명주기의 관리까지 모든 객체데 대한 제어권이 바뀌었다는 의미.


    2) 디자인 패턴에 해당.

2. IoC 컨테이너 
    1) 스프링 프레임워크도 객체에 대한 생성 및 생명주기를 관리 기능 제공.


    2) IoC 컨테이너 기능 제공 
        - 객체 생성, 의존성 관리 
        - POJO의 생성, 초기화, 서비스, 소멸에 대한 권한
        - 개발자들이 객체생성을 컨테이너에게 맡김   

3. IoC 분류
    1) DL (Dependency Lookup) : 의존성 검색
    2) DI : 의존성 주입 (각 클래스간 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해주는것)


        - Setter Injection
            - Setter 메서드를 이용한 의존성 삽입
        - Constructor Injection         
            - 생성자를 이용한 의존성 삽입
4. DI      
    1) 개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가하면 됨
    2) 객체 레퍼런스를 컨테이너로부터 주입 받아서, 실행 시에 동적으로 의존관계가 생성됨.
    3) 컨테이너가 흐름의 주체가 되어 애플리케이션 코드에 의존관계를 주입해 주는 것
    4) 장점 : 코드가 단순해짐, 컴포넌트 간 결합도 제거됨.    



728x90
반응형

'Web > Spring' 카테고리의 다른 글

Spring(7) - MyBatis Framework  (0) 2022.01.29
Spring(6) - Spring MVC  (0) 2022.01.29
Spring(3) - Spring 의존성 주입  (0) 2022.01.29
Spring(2) - Spring Framework  (0) 2022.01.29
Spring(1) - Framework  (0) 2022.01.29

댓글