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

잘열심히님의 프로필 이미지
잘열심히

작성한 질문수

스프링 핵심 원리 - 기본편

싱글톤 관련해서 궁금한점이 있습니다.

작성

·

186

0

@Configuration
static class SameBeanConfig{
    @Bean
    public MemberRepository memberRepository1(){
            return new MemoryMemberRepository();
    }
    @Bean
    public MemberRepository memberRepository2(){
        return new MemoryMemberRepository();
    }

}
@Test
@DisplayName("타입으로 조회시 같은 타입이 둘이상 있을경우 빈이름으로 조회하면 가능함")
void findBeansName(){
    MemberRepository memberRepository1=ac.getBean("memberRepository1", MemberRepository.class);
    MemberRepository memberRepository2=ac.getBean("memberRepository2", MemberRepository.class);
    org.assertj.core.api.Assertions.assertThat(memberRepository1).isEqualTo(memberRepository2);
}

만약에 이렇게 빈을 등록하고 사용하는경우에는 사실상 싱글톤 패턴은 아니기때문에

예시를 보여주기위해서만 사용하셨을뿐 실무에서는 저런식으로 사용을 안한다고 이해해도될까요?

답변 2

0

안녕하세요. 잘열심히님, 공식 서포터즈 OMG입니다.

해당 예시는 동일한 타입의 스프링 빈이 서로 다른 이름으로도 등록될 수 있음을 설명하기 위한 예제이며, 스프링 컨테이너가 싱글톤으로 관리해주는 빈입니다 😀

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

질문해주신 내용과 유사한 문제를 다룬 기존의 질문&답변이 있어서 도움이 될 것 같습니다.

강의에서는 실제로 서로 다른 빈을 명시적으로 구분하여 등록하고 조회하는 방법을 보여주는 것이며, 실제 싱글톤 패턴이 적용되지 않는 경우를 설명하기 위해 사용된 예시입니다. 실무에서는 특별한 경우가 아니라면 같은 타입의 빈을 여러 개 등록하여 사용하는 것은 권장되지 않습니다. 보다 자세한 내용과 설명은 아래 링크를 참고해 주세요.

각 링크에서 비슷한 문제에 대한 답변을 찾을 수 있습니다. 도움이 되길 바랍니다.

잘열심히님의 프로필 이미지
잘열심히

작성한 질문수

질문하기