▲ 그림 4-10 우리는 특정 인터페이스에 대한 구현을 이미 제공하는 의존성을 사용할 때가 있다, 이런 인터페이스에 대한 커스텀 구현이 필요하다면 기본 DI 구현으로 표시하도록 @Primary를 사용할 수 있다, 이렇게 하면 스프링은 의존성에서 제공하는 구현이 아닌 여러분이 정의한 커스텀 구현을 주입한다