@Configuration , 그리고 싱글톤
스프링 초기화 과정에서 Bean 등록된 객체들을 생성이 되는데,
어쨌든 스프링도 java이기 때문에 호출의 중복으로 중복생성이 될 수 있다?
그러면 싱글톤이 깨지는 것인가?
스프링이 그럴리가 없다. 결국 같은 놈들이다.
스프링 컨테이너는 싱글톤 레지스트리다. 스프링 빈이 싱글톤이 되도록 보장이 되어야 한다.
그래서 @Configuration이 출동한 것이다.
스프링이 CGLIB 바이트코드 조작 라이브러리 사용, 임의의 다른 클래스 만들고
그 다른 클래스를 스프링 빈으로 등록.
결국 실제로 내가 등록한 빈이 아니고 오버라이드 된 다른놈이 등록 되는 것.
그것은 싱글톤을 보장하도록 한다.
그럼 @Configuration 안붙이면? 주작없이 그냥 중복 생성 싱글톤 깨진다.
'스프링' 카테고리의 다른 글
컴포넌트의 검색 범위 (0) | 2021.05.09 |
---|---|
@ComponentScan 컴포넌트 스캔 (0) | 2021.05.09 |
싱글톤 주의점 (0) | 2021.05.03 |
스프링 컨테이너(싱글톤) (0) | 2021.05.03 |
싱글톤 패턴 (0) | 2021.05.03 |