티스토리 뷰

@Component를 통해 자동으로 등록한 Bean

수동으로 등록한 Bean

 

 

테스트코드

 

결과! (일단 에러가 남 ㅎㅎ)

수동 빈이 자동 빈을 오버라이딩 해버린다.

즉, 수동 빈이 우선권을 가진다!

 

하지만 대다수의 경우 이렇게 빈이 겹치는 상황을 의도하지는 않을 것이다.

의도치 않은 상황에서 이렇게 빈이 오버라이딩 되는 경우 생각보다 문제가 훨씬 더 심각해 질 수 있다. (어디가 문제인지 짐작도 못할테니까!)

 

그렇기 때문에 최근 스프링부트에서는 이렇게 자동 빈과 수동 빈의 충돌이 일어나면 아래와 같은 에러를 띄운다.

 

 

하지만 꼭 수동 빈이 자동 빈을 오버라이딩해야 하는 상황이라면 application properties에 아래 코드를 추가하자!

(스프링에서도 친절하게 알려줌)

spring.main.allow-bean-definition-overriding=true

댓글