ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring의 특징 이해하기 [Di, IoC]
    프로그래밍 2016. 12. 26. 00:57

    Spring의 특징 DI, IoC

    개념 확실하게 정리하셨나요?


    DI, IoC 개념 알듯 모를듯 했는데

    설명 너무 잘 해주신 유투브 동영상 참고!


    /* 유투브 보고 공부한 내용 한번 더 정리 해 봅니다. */


    DI란?

    의존성 주입

    원하는 부품 목록을 작성하면, Spring이 조립해준다.

    필요한 객체는 스프링을 통해서 주입받는 구조.


    어노테이션(@)을 통하여 객체 간 의존 관계를 설정.

    객체 자체를 직접 생성 또는 검색 할 필요가 없음.




    예를들면, 

    Family Has-a Father,Mother

    관계를 구현 할 경우




    스프링의 경우 

    Family 객체만 생성하면

    Father,Mother 객체는 자동으로 생성된다.

    *Family와 Father,Mother 객체의 LifeCycle(생성 및 소멸) 동일

    Family fam = new Family();



    스프링이 아닌 경우는

    Father,Mother 객체를 생성해서 Setter메소드를 통해 주입해주어야 한다.

    Father papa = new Father();

    Mother mom = new Mother();


    Family fam = new Family();


    fam.setterFather(papa);

    fam.setterMother(mom); 


    위 소스 내용을 그림으로 표현해 보면 아래와 같다.

    첫번째 소스가 객체가 생성되는 순서가 역순이므로

    IoC 개념 요기잉네!



    의존을 주입하는 방법.세가지.

    1. Setter Injection : setter 메소드를 통해 Injection 수행

    2. Construction Injection : 객체 생성할 때 Injection 수행 (eg. Family fam = new Family(papa,mom); ) 

    3. Interface Injection


    IoC Container

    필요한 객체를 생성해서 주입 수행

    위 소스를 보면 스프링을 사용할 경우 Father,Mom 객체 생성을 별도로 수행하지 않는다.

    IoC Container가 Father,Mom 객체 생성 해서 Family 객체에 Injection 처리해준다

Designed by Tistory.