| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 정리
- MySQL
- 자바스크립트
- 자바
- 디자인 패턴
- 알고리즘
- web
- 쿼리
- oracle
- java
- 미니정리
- JavaScript
- jsp
- Next.js
- SQL
- 프론트엔드
- 프런트엔드
- 백엔드
- 스프링부트
- 데이터베이스
- 프로그래머스
- 스프링
- spring
- 코드 테스트
- BACK-END
- jpa
- node.js
- 서버
- 코드테스트
- 오라클
- Today
- Total
참치코더의 꿈 메모장
Spring / 롬복과 @Autowired 필드 명, @Qualifier, @Primary 본문
롬복과 최신 트랜드
- 대부분의 필드가 다 불변이고 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 보다 실행 우선순위가 더 높다!!!(스프링은 좀 더 지엽적인 것이 우선순위가 높다.)

'Spring' 카테고리의 다른 글
| Spring / 빈 생명주기 콜백(DI 설정 후, 빈 종료 전) 정리 (4) | 2025.08.13 |
|---|---|
| Spring / 애노테이션 만들기, 자동 or 수동 스프링 빈 등록 미니 요약 (1) | 2025.08.11 |
| Spring / DI 옵션 처리, 생성자 주입 선택해야 하는 이유 정리 (0) | 2025.08.06 |
| Spring / 다양한 DI(의존 관계 주입) 방법 (1) | 2025.08.05 |
| Spring / 컴포넌트 스캔 정리 및 중요한 점(스프링 프레임워크 관점) (3) | 2025.08.04 |