인프런 커뮤니티 질문&답변

qzxy812님의 프로필 이미지
qzxy812

작성한 질문수

스프링 핵심 원리 - 기본편

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

@Configuration @Bean

작성

·

322

0

안녕하세요 김영한 개발자님
강의를 듣다가 궁금점이 생겨 질문드려요.
 
@Bean만 사용할 경우 스프링 빈으로 등록되지만, 싱글톤이 보장되지 않고, 싱글톤을 보장하려면 설정정보에 @Configuration이 필요하다고 이해했습니다.
 
그러면 싱글톤을 보장해주는 기능은 @Configuration이 전담(?)하는거라고 이해해도 될까요?
 
(@Configutaion 어노테이션이 있으면 항상 100% 싱글톤을 보장하고 어노테이션이 없다면 100% 싱글톤이 안되는건지 궁금합니다.)
 
감사합니다!

답변 1

3

안녕하세요. qzxy812님, 공식 서포터즈 David입니다.

@Configuration 내에서 @Bean이 붙은 메서드를 호출하면 해당 메서드에서 생성하려는 타입(또는 이름)의 빈이 컨테이너에 존재하는지 확인하는 프로세스가 추가됩니다.

이런 방식으로 싱글톤을 유지하게 됩니다.

@Configuration이 없다면 빈으로는 등록되어도 위에 말씀드린 프로세스로 동작하진 않습니다.

감사합니다.

qzxy812님의 프로필 이미지
qzxy812
질문자

감사합니다!

qzxy812님의 프로필 이미지
qzxy812

작성한 질문수

질문하기