본문 바로가기

# 02/Spring

[Spring] IoC

반응형

Inversion of Control

제어권이 뒤바꼈다고?



일반적인 (의존성에 대한) 제어권 : "내가 사용할 의존성은 내가 만든다."



class OwnerController {

private OwnerRepository repository = new OwnerRepository();

}




IoC : "내가 사용할 의존성을 누군가 알아서 주겠지"


    • 내가 사용할 의존성의 타입(또는 인터페이스)만 맞으면 어떤거든 상관없다.
    • 그래야 내 코드 테스트 하기도 편하지.



class OwnerController {

private OwnerRepository repo;


public OwnerController(OwnerRepository repo) {

this.repo = repo;

}


// repo를 사용합니다.

}



class OwnerControllerTest {

@Test

public void create() {

OwnerRepository repo = new OwnerRepository();

OwnerController controller = new OwnerController(repo);


}

}





반응형

'# 02 > Spring' 카테고리의 다른 글

[Spring] IoC (Inversion of Control) 컨테이너  (0) 2019.10.17
[Spring] JUnit  (0) 2019.10.17
[Spring] 첫번째 과제  (0) 2019.10.16
[Spring] Collection  (0) 2019.10.16
[Spring] jar 파일  (0) 2019.10.16