[Spring] IoC 란?

상트리버·2022년 12월 5일
0

Spring 이론

목록 보기
9/23
post-thumbnail

IoC

IoC Inversion of Control 의 줄임말로 한글로는 제어의 역전이라는 말이다.
제어의 역전이란 말은 말그대로 메소드나 객체의 호출 작업을 개발자가 결정하는 것이 아니라, 외부에서 결정 되는 것을 의미한다. 제어권을 제 3자에게 위임한다는 것과 같다.

IoC 컨테이너란?

Spring에서는 IoC를 담당하는 컨테이너를 빈 팩토리, DI 컨테이너, 애플리케이션 컨텍스트 라고도 부른다
이 컨테이너들은 인스턴스의 생명주기를 관리, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것이다.
즉, 작성한 처리과정을 위임받은 독립적인 존재라고 생각하면 되고, 알아서 코드를 참조하여 객체의 생성과 소멸을 컨트롤 해주는 것이다.
최근에는 IoC가 아닌 DI컨테이너 용어를 자주 사용한다.

컨테이너 사용법

@Configuration : 구성정보를 담당하는것을 설정할때 @Configuration 을 붙여줍니다.

@Bean : 각 메서드에 @Bean을 붙이면 스프링 컨테이너에 자동으로 등록이 됩니다.

ApplicationContext (스프링 컨테이너) :
스프링 컨테이너는 @Configuration이 붙은 클래스를 설정정보로 사용합니다.
여기서 @Bean이 적힌 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록합니다.
이렇게 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 합니다.
스프링 빈은 applicationContext.getBean() 메서드를 사용해서 찾을 수 있습니다.

0개의 댓글