더북(TheBook)

스프링에서 클래스의 속성이나 메서드 또는 생성자 매개변수를 사용하여 값이나 참조를 제공하도록 허용할 때는 스프링이 IoC 원칙으로 지원되는 기술인 DI를 사용한다고 할 수 있다.

서로 의존하는 빈 두 개를 생성하면 순환 의존성이 발생한다. 스프링은 순환 의존성이 있는 빈은 생성할 수 없고, 예외를 발생시키며 실행은 실패한다. 빈을 구성할 때는 순환 의존성을 피해야 한다.

컨텍스트에 타입이 동일한 빈이 두 개 이상 있을 때 스프링은 그중 어떤 빈을 주입해야 하는지 정하지 못한다. 주입해야 할 인스턴스를 스프링에 알려 주는 방법은 다음과 같다.

의존성 주입을 위해 빈 중 하나를 기본값으로 표시하는 @Primary 애너테이션을 사용한다.

빈 이름을 지정하고 @Qualifier 애너테이션을 사용하여 빈 이름으로 주입한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.