October 3, 2022 → October 9, 2022 |
---|
✏️ Chapter 3. 스프링 부트에서 JPA로 데이터베이스 다뤄보자
<aside> 💡 3장~6장 : 하나의 게시판을 만들기 7장~10장: 서비스를 AWS에 무중단 배포하기
게시판 기능
회원 기능
</aside>
<aside> 1️⃣ 프로젝트 Spring Data Jpa 적용하기
<aside> 2️⃣ Spring Data JPA 테스트 코드 작성하기
💥 쿼리를 로그로 보는 방법
src/main/resources 디렉토리 아래에 *application.properties*
파일을 생성
//옵션 추가 시 콘솔에서 쿼리 로그 확인 가능
spring.jpa.show_sql=true
//옵션 추가 시 출력되는 쿼리 로그를 MySQL 버전으로 변경 가능
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
</aside>
<aside> 3️⃣ 등록/수정/조회 API 만들기
<aside> 💡 API를 만드는데 필요한 클래스
<aside> 👍 도메인 모델에서 처리할 경우
서비스 메소드는 트랜잭션과 도메인 간의 순서만 보장해줌
</aside>
<aside> 👎 트랜잭션 스크립트를 사용할 경우
모든 로직이 서비스 클래스 내부에서 처리되므로 서비스 계층이 무의미하며,
객체란 단순히 데이터 덩어리가 됨.
</aside>
<aside> 📌 스프링에서 Bean 을 주입받는 방식
setter
@Autowired (권장 X)
⭐생성자
직접 안쓰고 롬복 어노테이션으로 사용 가능 (@RequiredArgsConstructor) 해당 클래스의 의존성 관계가 변경될 때마다 생성자 코드를 계속해서 수정하는 번거로움 해결
</aside>
등록/수정/삭제 기능 만들기
등록/수정/삭제 기능 테스트 코드로 검증하기
<aside> 💡 톰캣으로 조회기능 확인해보기
spring.h2.console.enable=true
옵션 추가</aside>
<aside> 4️⃣ **JPA Auditing으로 생성시간/수정시간 자동화하기
JPA Auditing 이란?**
생성일/수정일/생성자를 자동화
<aside> 💡 Spring 웹 계층
</aside>