ComponentScan에서 같은 이름의 Bean이 등록된 경우
이 경우는 크게 2가지 경우로 나뉘는데
첫번째 경우는
자동적 등록 과 자동적 등록이 실행된 경우
자동적 등록이란 ComponentScan이 Component를 스캔하는 과정에서 Component("Service")와 같이
이름을 붙여줄수 있는데
이 이름이 동일한 Component를 감지하면 Bean등록이 되지 않는다.
두번째 경우는
수동적 등록 + 자동적 등록의 경우이다
수동적 등록이란 Config에서 @Bean 어노테이션을 명시하여 등록하는걸 의미하는데
@Bean의 수동값과 Component의 이름이 겹치면 수동등록 bean이 자동등록 bean을 오버라이딩 한다
즉
수동등록 bean이 component에서 우선권을 가지게 된다.
이는 Boot에서 의도적으로 기획한 부분으로
큰 오류를 초례할수 있어서 막아둔 것이다.
Boot에서 최근 정책으로 수동등록과 자동등록이 겹치면 오류를 일으켜 튕기게 되어있다.
이 설정을 세부 설정으로 튕기지않고 bean이 오버라이딩 되게 설정할 수 있다.
'SpringBoot' 카테고리의 다른 글
11월 23일 SpringBoot DI 수정자 주입 (0) | 2022.11.24 |
---|---|
11월 22일 SpringBoot @AutoWired 로 의존관계 주입 (0) | 2022.11.23 |
11월 17일 SpringBoot ComponentScan Filter의 옵션 (0) | 2022.11.18 |
11월 14일 SpringBoot ComponentScan Filter 사용법 (0) | 2022.11.15 |
11월 13일 SpringBoot ComponentScan의 동작방법 (0) | 2022.11.14 |