Today I Learned_220724
Spring Framework
필터
includeFilters : 컴포넌트 스캔 대상을 추가로 지정
excludeFilters : 컴포넌트 스캔에서 제외할 대상을 지정
FilterType 옵션
- ANNOTATION : 기본값
- ASSIGNABLE_TYPE : 지정한 타입과 자식 타입을 인식해서 동작
- 그 외에도 ASPECT_J, REGEX, CUSTOM이 있지만 ANNOTATION만 주로 많이 사용됨
컴포넌트 스캔 중복 등록
- Component Scan에 의해 동일한 빈이 등록되려고 할 때 ConflictingBeanDefinitionException 발생
- 자동 등록된 빈과 수동으로 등록된 빈이 같이 존재할 때 일반 스프링 : 수동 빈 등록이 우선권을 가짐 스프링 부트로 실행 : Consider renaming one of the beans or enabling overriding by setting 발생
스프링 부트로 실행할 때(@SpringBootApplication 어노테이션이 붙은 CoreApplication) 오류 발생 -> 기본적으로 spring.main.allow-bean-definition-overriding=false로 설정되어 있다.
application.properties에 spring.main.allow-bean-definition-overriding=true 붙이면 오버라이딩 해서 받을 수 있다.
IntelliJ
command + E : 최근 본 파일 확인