제 경험이 조금씩 첨가된 주관적인 답변이므로 참고만 하세요! 답이 아닙니다! 여러분의 의견을 존중합니다!

Spring IoC 컨테이너의 동작 원리와 스프링 빈 라이프사이클에 대해

스프링 빈은 Spring ioc 컨테이너에 의해 관리되는 객체입니다. 싱글톤으로 생성되기 때문에 인스턴스가 오직 하나만 존재하고 빈을 등록하는 방법으론 @ComponentScan이 붙은 클래스가 있는 패키지 하위 패키지를 전부 스캔하면서 특정 애노테이션이 붙은 클래스를 빈으로 등록하는 방법이 있고 java config에 등록하는 방법, xml에 등록 하는 방법등이 있습니다. IoC는 제가 제어하는게 아니고 외부에서 관리를 해주기 때문에 제어권이 바뀌었다 해서 제어의 역전인데 Spring IoC 컨테이너는 빈 서로간의 의존성을 넣어주고 싱글톤 스코프의 빈을 제공하는게 주된 일입니다. 빈의 라이프 사이클엔 빈 생성, 의존관계 주입, 초기화 콜백 메소드, 소멸 전 콜백, 스프링 종료라는 사이클을 가지게 됩니다. 싱글톤 빈 : 디폴트 프로토타입 빈 : 매번 새로운 인스턴스를 생성하며, 각 요청 또는 의존성 주입 시마다 새로운 빈 인스턴스를 반환합니다.프로토타입 빈의 라이프사이클을 종료할 책임은 개발자에게 잇습니다. 요청, 세션, 글로벌, 스레드 등 다양한 빈 스코프가 있습니다.

댓글남기기