728x90
반응형
@Configuration과 바이트코드 조작의 마법
AnnotationConfigApplicationContext 에 파라미터로 넘긴 값은 스프링 빈으로 등록되서 AppConfig 도 스프링 빈이 된다.
AppConfig의 클래스 타입을 확인해 보면 클래스 명에 xxxCGLIB가 붙은 것을 확인할 수 있다.
이것은 스프링이 CGLIB라는 바이트코드 조작 라이브러리를 사용해서 AppConfig 클래스를 상속받은 임의의 다른 클래스를 만들고, 그 다른 클래스를 스프링 빈으로 등록한 것이다.
그 임의의 다른 클래스가 바로 싱글톤이 보장되도록 해준다.
@Configuration 을 적용하지 않고, @Bean 만 적용하면 어떻게 될까?
@Bean만 사용해도 스프링 빈으로 등록되지만, 싱글톤 보장X
스프링 설정 정보는 항상 @Configuration을 사용
인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다.
스프링 핵심 원리 - 기본편 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런...
www.inflearn.com
728x90
반응형
'스프링 Spring > 스프링 핵심 원리 - 기본편' 카테고리의 다른 글
[컴포넌트 스캔] 탐색 위치와 기본 스캔 대상 (0) | 2022.02.10 |
---|---|
[컴포넌트 스캔] 컴포넌트 스캔과 의존관계 자동 주입 시작하기 (0) | 2022.02.09 |
[싱글톤 컨테이너] @Configuration과 싱글톤 (0) | 2022.02.07 |
[싱글톤 컨테이너] 싱글톤 방식의 주의점 (0) | 2022.02.06 |
[싱글톤 컨테이너] 싱글톤 컨테이너 (0) | 2022.02.05 |
댓글