[Data JPA] 기본 설정, 라이브러리 살펴보기, (JPA, DB) 설정, 동작확인
1) 프로젝트 기본 설정
1. Test 를 그래들 통하지않고 인텔리제이로
2. lombok 적용하기
Setting -> Annotation Processors -> Enable annotation processing 체크
2) 라이브러리 살펴보기
1. 해당 프로젝트 폴더위치에서 ./gradlew dependencies --configuration compileClasspath 입력
- 현재 그래들을 통해 받은 의존관계를 확인할 수 있다.
스프링 부트 라이브러리
- spring-boot-starter-web
- spring-boot-starter-tomcat: 톰캣 (웹서버)
- spring-webmvc: 스프링 웹 MVC
- spring-boot-starter-data-jpa
- spring-boot-starter-aop
- spring-boot-starter-jdbc
- HikariCP 커넥션 풀 (부트 2.0 기본)
- hibernate + JPA: 하이버네이트 + JPA
- spring-data-jpa: 스프링 데이터 JPA
- spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
- spring-boot
- spring-core
- spring-boot-starter-logging
- logback, slf4j
- spring-boot
테스트 라이브러리
- spring-boot-starter-test
- junit: 테스트 프레임워크, 스프링 부트 2.2부터 junit5( jupiter ) 사용
- 과거 버전은 vintage
- mockito: 목 라이브러리
- assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test: 스프링 통합 테스트 지원
- junit: 테스트 프레임워크, 스프링 부트 2.2부터 junit5( jupiter ) 사용
핵심 라이브러리
- 스프링 MVC
- 스프링 ORM
- JPA, 하이버네이트
- 스프링 데이터 JPA
기타 라이브러리
- H2 데이터베이스 클라이언트
- 커넥션 풀: 부트 기본은 HikariCP
- 로깅 SLF4J(인터페이스) & LogBack(구현체)
- 테스트
3) DB, JPA 설정
1. resources 폴더 안의 application.properties파일을 확인한다.
2. application.properties을 사용해도 무방하지만 application.yml 파일을 생성한다. (스타일만 다른 것임)
3. 작성한다.
show_sql : 콘솔에 sql문을 남길 수 있음.
하단 logging sql : 로그파일로 남길 수 있음 ***
format_sql : 쿼리가 포맷팅되어 출력
org.hibernate.type : trace : 파라미터까지 볼 수 있음
+추가
쿼리 파라미터 로그를 남기고 싶다면!
-외부 라이브러리를 사용한다.
github.com/gavlyukovskiy/spring-boot-data-source-decorator
스프링 부트를 사용하면 build.gradle파일에 하단의 라이브러리만 추가하면 된다. 하지만 쿼리 파라미터를 로그로 남기는 외부 라이브러리는 시스템 자원을 사용하므로, 개발단계에서만 사용하고 운영단에서는 반드시 성능테스트를 거쳐야한다.
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.7'