기존의 "내가 쓸 놈은 내가 만들어 쓸게"
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);
}
}