본문 바로가기
스프링 Spring/스프링 핵심 원리 - 기본편

[싱글톤 컨테이너] @Configuration과 바이트코드 조작의 마법

by 코딩개발 2022. 2. 8.
728x90
반응형

@Configuration과 바이트코드 조작의 마법

 

AnnotationConfigApplicationContext 에 파라미터로 넘긴 값은 스프링 빈으로 등록되서 AppConfig 도 스프링 빈이 된다.

 

AppConfig의 클래스 타입을 확인해 보면 클래스 명에 xxxCGLIB가 붙은 것을 확인할 수 있다.

이것은 스프링이 CGLIB라는 바이트코드 조작 라이브러리를 사용해서 AppConfig 클래스를 상속받은 임의의 다른 클래스를 만들고, 그 다른 클래스를 스프링 빈으로 등록한 것이다.

그 임의의 다른 클래스가 바로 싱글톤이 보장되도록 해준다.

 

@Configuration 을 적용하지 않고, @Bean 만 적용하면 어떻게 될까?

@Bean만 사용해도 스프링 빈으로 등록되지만, 싱글톤 보장X

스프링 설정 정보는 항상 @Configuration을 사용

 

 


<출처>

인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다.

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

 
728x90
반응형

댓글