참치코더의 꿈 메모장

Spring / 롬복과 @Autowired 필드 명, @Qualifier, @Primary 본문

Spring

Spring / 롬복과 @Autowired 필드 명, @Qualifier, @Primary

참치깡 2025. 8. 8. 07:55
728x90

롬복과 최신 트랜드

- 대부분의 필드가 다 불변이고 final 키워드를 사용하게 된다. 
- 필드 주입 처럼 생성자 주입을 사용할 수 있는 방법은 롬복(Lombok) 라이브러리를 사용하는 것이다.
- 롬복 라이브러리가 제공하는 @RequiredArgsConstructor 기능을 사용하면 final이 붙은 필드를 모아서 생성자를 

  자동으로 만들어준다.
- 최근에는 생성자를 딱 1개 두고, @Autowired를 생략하는 방법을 주로 사용한다. 
- 여기에 @RequiredArgsConstructor 함께 사용하면 기능은 다 제공하면서, 코드는 깔끔하게 사용할 수 있다.

@Autowired 필드 명, @Qualifier, @Primary

- 조회 대상 빈이 2개 이상일 때 해결 방법 

1. @Autowired 필드 명 매칭
2. @Qualifier -> @Qualifier 끼리 매칭
3. @Primary 사용

@Autowired 필드 명 매칭 

- @Autowired는 타입 매칭을 시도하고, 이때 여러 빈이 있으면, 필드 이름, 파라미터 이름으로 빈 이름을 추가 매칭한다.
- 필드 명 매칭은 먼저 타입 매칭을 시도 하고, 그 결과에 여러 빈이 있을 때 추가로 동작하는 기능이다.

@Primary 사용

- @Primary는 우선순위를 정하는 방법이다.
- @Autowired시에 여러 빈이 매칭되면 @Primary가 우선권을 가진다.
- 주로 사용하는 코드의 커넥션 DI는 @Primary를 사용하여 편리하게 사용하는게 좋고, 자주사용하지 않는 유니크한 코드의 
  커넥션은 일일히 지정하는 @Qualifier을 사용하는 것이 좋다. 

- @Qualifier가 @Primary 보다 실행 우선순위가 더 높다!!!(스프링은 좀 더 지엽적인 것이 우선순위가 높다.)

 

코드 전체 부분

 

728x90
Comments