Skip to content

중복 등록과 충돌 #29

@mingsound21

Description

@mingsound21

컴포넌트 스캔에서 같은 빈 이름을 등록하면 어떻게 될까?
다음 두가지 상황이 있다.

  1. 자동빈등록vs자동빈등록 : ConflictingBeanDefinitionException 예외 발생
  2. 수동빈등록vs자동빈등록 : 수동 빈 등록이 우선권을 가진다. 수동빈이 자동빈을 오버라이딩함. 대신 아래와 같이 어떤 것을 오버라이딩 했는지 로그로 알려줌.
Overriding bean definition for bean 'memoryMemberRepository' with a different definition: replacing

→ 하지만, 보통 이런 경우를 의도한 개발자는 거의 없을 것이다.

따라서 최근 스프링부트에서는 수동 빈 등록과 자동 빈 등록이 충돌나면 오류가 발생하도록 기본 값을 바꾸었다.

Consider renaming one of the beans or enabling overriding by setting
spring.main.allow-bean-definition-overriding=true

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions