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);
}
}
'Web > Spring-boot' 카테고리의 다른 글
Spring Web Layer(스프링 웹 계층) (1) | 2020.01.20 |
---|---|
Spring-boot에서 build.grade 속성 (0) | 2020.01.19 |
IntelliJ에서 gradle(버전) distributionURL 변경하기 (0) | 2020.01.17 |