Spring

IOC

KimJye 2020. 1. 14. 15:13

Inversion Of Control의 약자로 제어의 역전이라는 뜻이다.

 

원래 의존성에 대한 제어권은 본인에게 있다.

Class OwnerController {
	private OwnerRepository ownerRepository = new OwnerRepository();
}

 

IOC는 의존성을 내가 관리하지 않고 나 외의 누군가가 밖에서 의존성을 주입해주는 형태다.

Class OwnerController {
	private OwnerRepository ownerRepository;

	public OwnerController(OwnerRepository ownerRepository) {
		this.ownerRepository = ownerRepository;
	}
}

 

IOC Container

스프링 프레임웤은 IOC 컨테이너를 제공한다.

이 컨테이너의 가장 핵심적인 인터페이스는 ApplicationContext다.

 

ApplicationContext

빈을 생성하고 만든 빈들의 의존성을 관리해준다.