반응형 ComponentScan2 Spring / 컴포넌트 스캔에서 빈을 중복으로 등록하는 상황과 충돌 컴포넌트 스캔에서 빈을 중복으로 등록하는 상황과 충돌 자동 빈 등록 (ComponentScan) 수동 빈 등록 (@Bean) 컴포넌트 스캔에 의해 자동으로 중복된 이름의 스프링 빈이 등록되면? ConflictingBeanDefinitionException 예외가 발생 수동 빈 등록과 자동 빈 등록이 충돌 되었다면? 예외가 발생하지 않는다. 이 경우, 수동 빈 등록이 우선권을 가진다. 수동 빈이 자동 빈을 오버라이딩 해버림. 테스트 코드를 보면 오버라이딩 했고 replace됐다는 것을 확인 할 수 있음. 그러나 이 것은 큰 버그를 야기할 수 있다. 따라서 최근의 스프링 부트는 수동 빈 등록과 자동 빈의 충돌 발생 시 오류가 발생하도록 기본 값을 바꿈. @SpringBootApplication 클래스를 실행.. 2023. 10. 17. Spring / 컴포넌트 스캔과 의존관계 자동 주입 (ComponentScan) 컴포넌트 스캔과 의존관계 자동 주입 등록해야 할 빈(@Bean)이 몇백 몇천개라면? 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔 기능을 제공 의존 관계도 자동 주입하는 @Autowired도 제공 @ComponentScan 자동으로 스프링 빈을 끌어올리는 에너테이션 즉 자동으로 스프링 빈을 등록해줌 이 에너테이션은 @Component 에너테이션이 붙은 클래스를 모두 스캔해서 스프링 빈으로 등록 @ComponentScan( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) 스프링 빈을 자동 등록하는데 필터링 할 것을 지정 컴포넌트 스캔을 지정하면 @.. 2023. 10. 17. 이전 1 다음 반응형