이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다.
🟦 기본 환경: IDE: IntelliJ, Language: Java
1. Field Injection
❌ Test case 주입이 어려움
2. Setter Injection
⭕ Test case 주입 가능
❌ memberRepository가 제약없이 변경 가능
3. Constructor Injection
⭕ Test case 주입 가능
⭕ memberRepository 변경의 제약(생성자 1회만 호출)
⭕ Test case가 반드시 주입될 수 있도록 함
4. Lombok: @AllArgsConstructor
⭕ 모든 필드에 대해 생성자 생성
5. Lombok: @RequiredArgsConstructor
⭕ final 필드에 대해 생성자 생성
⭕ 값이 주입되지 않을 경우, compile error 발생
'Java > JPA' 카테고리의 다른 글
[SpringBoot_JPA_1] StringUtils.hasText() (0) | 2023.05.27 |
---|---|
[SpringBoot_JPA_1] create Private Method (0) | 2023.05.27 |
[SpringBoot_JPA_1] Cascade Type (0) | 2023.05.25 |
[SpringBoot_JPA_1] FetchType.LAZY, EAGER (0) | 2023.05.25 |
[SpringBoot_JPA_1] JPA Entity Default Constructor (0) | 2023.05.23 |