😌2022.12.09

일일 회고 114일차

할일 및 한일

경험 및 배움

오늘은 저녁에 예정된 약속이 있어서 예정된 공부를 마치지 못했다.

스프링 강의 수강 및 정리

@Autowired 는 타입으로 빈을 조회한다고 한다. 따라서 선택된 빈이 2개 이상이 있을 때, 문제가 발생한다.

NoUniqueBeanDefinitionException 오류가 발생한다. 따라서 이 문제를 해결하기 위한 방법은 3가지가 존재한다.

  1. @Autowired 필드명 매칭

  2. @Qualifier

  3. @Primary

@Autowired 필드명 매칭 방법은 필드 명을 빈 이름으로 변경해서 스프링에게 우선으로 사용할 빈을 알려주는 방법이다.

두 번째인 @Qualifier 방법은 빈을 등록할 때 @Qualifier 어노테이션을 붙여주고, 구분할 이름을 따로 하나 더 지정해주는 것이다. 그 후에 사용할 생성자에 가서 어노테이션과 함께 사용할 구분자인 이름을 써준다.

세 번째는 @Primary 로 내가 우선적으로 사용할 빈이 있는 클래스에 이 어노테이션을 붙여서, 우선권을 주는 것이다.

-> @Qualifier 의 단점은 주입 받을 때 모든 코드에 @Qualifier 를 붙여주어야 한다는 점이있으므로 @Primary 를 사용하는 것이 편리하다고 한다.

자세한 내용은 다음 링크에 정리해놓았다.

개선 및 목표

  • 내일은 자료구조 마무리 및 자바 프로젝트를 시작해보자.

Last updated