Spring/프로젝트 관련

[Data JPA] 기본 설정, 라이브러리 살펴보기, (JPA, DB) 설정, 동작확인

김긍수 2021. 4. 10. 03:27

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-starter-test
    • junit: 테스트 프레임워크, 스프링 부트 2.2부터 junit5( jupiter ) 사용
      • 과거 버전은 vintage
    • mockito: 목 라이브러리
    • assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
    • spring-test: 스프링 통합 테스트 지원

핵심 라이브러리

  • 스프링 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'