기존의 "내가 쓸 놈은 내가 만들어 쓸게"

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);
	}
}