본문 바로가기
Tech/Spring | Spring Boot

[Spring] IoC(Inversion of Control) /IoC 컨테이너

by 싱브이 2023. 9. 22.
728x90
반응형

 

 
  • Dependency Inversion of Control : 제어권이 역전됨 

             * 일반적인 경우에는 제어권을 자기 스스로 생성 및 관리

// 일반적인 경우
class OwnerController {
private OwnerRepository repository = new OwnerRepository();
}
// 제어권 역전
class OwnerController {
private OwnerRepository repo;
public OwnerController(OwnerRepository repo) {
this.repo = repo;
}

OwnerController는 OwnerRepository를 사용하지만, 만들지는 않는다. (객체를 생성자를 통해 받아옴)

-> 의존성을 관리하는 일(OwnerController)을 누군가가 밖에서 해줌 : IoC

 

 

  • IoC 컨테이너
    : 빈(Bean)을 생성, 빈들의 의존성을 엮어주고, 빈들을 제공해주는 역할 

의존성 주입은 Spring IoC 컨테이너 안에 들어있는 개체들끼리만 가능하다. 즉, 빈(Bean)끼리만 가능하다.

 

 

 

728x90
반응형

댓글