반응형
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 |