제어의 역전, 멋있는 문장이다.
스프링을 공부하다보면 자주 등장하는 것이 Spring IoC Container다.
여기서 IoC가 바로 제어의 역전을 의미한다.
이 멋있는 문장, '제어의 역전'이란 무엇일까?
의존성 주입을 이해하기 위해서는 우선 제어의 역전에 대해 알아야 한다.
자바에서는 new 연산자를 통해 객체를 생성하고, 객체 간의 결합 관계를 형성하고, 초기화를 해주는 등,
개발자가 직접 객체를 제어해야 했다.
하지만 Spring에서는 다양한 방식으로 객체를 등록하면 이를 스프링 컨테이너에서 생명주기를 전부 관리해주게 되었다.
여기서 Spring에 등록한 객체가 바로 Bean!! 이고,
이 Bean의 생명주기는 다음과 같다.
스프링 컨테이너 생성 -> 빈 생성 -> 의존성 주입 -> 초기화 롤백 -> 사용 -> 소멸 전 롤백 -> 스프링 종료
스프링 컨테이너는 이러한 빈을 생명주기에 맞춰 관리해주게 되는 것이다.
즉! 객체에 대한 제어권이 개발자에서 스프링 컨테이너로 역전되기 때문에 제어의 역전이라고 하는 것이다.
이러한 제어의 역전을 통해 개발자는 객체 관리보다 다른 부분에 좀 더 집중할 수 있게 되는 것이다.
라고 이해했다.
'프레임워크 > Spring' 카테고리의 다른 글
의존성 주입(Dependency Injection)(의존성 주입_Annotation@) (0) | 2023.04.11 |
---|---|
의존성 주입(Dependency Injection)(의존성 주입_XML) (0) | 2023.04.11 |
의존성 주입(Dependency Injection)(강하고 느슨한 결합 관계) (0) | 2023.04.11 |
Spring에서 Bean이란? (0) | 2023.04.11 |
Spring FrameWork (0) | 2023.04.11 |