[스프링 데이터 JPA 편] - 테스트를 위한 JUnit5에서 의존성 주입은 꼭 @Autowired로 해야 하는 이유
·
Spring/스프링 부트와 JPA 실무 완전 정복 로드맵
스프링에서 의존성을 주입받는 방법은 크게 4가지가 있다. 1. 생성자를 통해서 의존성을 주입 -> 특히 롬복(Lombok)의 @RequiredArgsConstructor를 사용해서 final 타입의 필드를 주입받는 것이 널리 사용된다. 2. 필드에서 @Autowired로 직접 주입 3. setter 메서드를 만들어서 의존성을 주입 4. 기타 특정한 메서드를 만들어서 의존성을 주입 특히 build.gradle에 아래와 같이 dependencies를 추가하면 테스트 클래스에서도 롬복을 사용할 수 있어서 자주 사용하곤 한다. // 테스트에서 lombok 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok..
[JPA 기본편] - JPA 프로젝트 세팅하기 (JDK 11, Gradle, 스프링 부트 없이)
·
Spring/스프링 부트와 JPA 실무 완전 정복 로드맵
2023년 7월 기준으로 작성되었습니다. 스프링 완전 정복 로드맵을 DB 2편까지 마치고, JPA 로드맵으로 오니까 아무래도 예전 강의여서 그런지 호환되지 않은 내용이 많았다. 특히 기본편에서 JPA 시작하기 -> Hello JPA - 프로젝트 생성에서 스프링 부트 없이 Maven으로 프로젝트를 하시길래 여태까지 배웠던 것이 스프링 부트 + Gradle 조합이어서 처음에는 이렇게 프로젝트를 해보았다. 하지만 여러가지 문제에 봉착했고, 다음과 같은 QNA를 보고나서야 스프링 부트를 사용하는 것은 포기했다. 그래도 JDK 11, Gradle로 프로젝트를 진행하고 싶은 사람에게 발생할 수 있는 문제와 해결책을 모아보았다. 사용하는 IDE로 Gradle 프로젝트를 대충 생성한 다음 1. build.gradle에..