반응형

DTO 5

데이터 접근 기술 - Querydsl

Querydsl 설정우선 Querydsl을 설정해보자. 스프링 2.x대의 설정과 3.x대의 설정이 다르므로 잘 확인해보자. 2.x 버전 설정//Querydsl 추가implementation 'com.querydsl:querydsl-jpa'annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"annotationProcessor "jakarta.annotation:jakarta.annotation-api"annotationProcessor "jakarta.persistence:jakarta.persistence-api" 3.x 버전 설정//Querydsl 추가..

공부/Spring 2025.06.09

검증2 - Bean Validation

Bean Validation을 알아보기 전에 이전에 보았던 Validation을 참고하자.https://surrealcode.tistory.com/135 검증1 - Validation검증 요구사항기존에 만든 상품 관리 시스템은 허술한 부분이 많다. id가 없어도 등록이 되거나, int값을 받는 곳에 String을 넣게되면, 4xx번대 에러가 발생하는 등 문제가 많았다. 이 부분을 해결surrealcode.tistory.com BeanValidation검증 기능을 지금처럼 매번 코드로 작성하는 것은 상당히 번거롭다. 특히 특정 필드에 대한 검증 로직은 대부분 빈 값인지 아닌지, 특정 크기를 넘는지 아닌지와 같이 매우 일반적인 로직이다. 다음 코드를 보자public class Item { private..

공부/Spring 2025.04.03

API 개발 고급 - 컬렉션 조회 최적화

https://surrealcode.tistory.com/121 API 개발 고급 - 지연 로딩과 조회 성능 최적화https://surrealcode.tistory.com/120 API 개발 고급 - 준비현업에서는 API 개발을 한 이후 성능이 나오지 않아 튜닝을 하기도 하는데 보통은 아래와 같은 문제를 지키지 않아 발생한다.- 지연로딩, 조회 성surrealcode.tistory.com앞서 본 API 개발은 xToOne 관계만 있는 개발이었다. 이번에는 컬렉션인 OneToMany 를 조회하고, 최적화를 진행해 볼 예정이다. 주문내역에서 추가로 주문한 상품 정보를 추가로 조회하자.Order 기준으로 컬렉션인 'OrderItem'과 'Item'이 필요하다. 컬렉션 조회 같은 경우에는 DB 입장에서 뻥튀기가..

공부/Spring Boot 2025.02.19

API 개발 고급 - 지연 로딩과 조회 성능 최적화

https://surrealcode.tistory.com/120 API 개발 고급 - 준비현업에서는 API 개발을 한 이후 성능이 나오지 않아 튜닝을 하기도 하는데 보통은 아래와 같은 문제를 지키지 않아 발생한다.- 지연로딩, 조회 성능 최적화- 컬렉션 조회 최적화- 페이징, 한계 돌surrealcode.tistory.com개발에 앞서, 이전 포스팅을 참고하여 조회용 데이터 샘플을 넣어주도록 하자.  지연 로딩과 조회 성능 최적화이전까지는 단일 엔티티만을 조회하는 API를 만들었다. 이번엔 주문 + 배송정보 + 회원을 조회하는 API를 만들어본다.여러 정보를 조회하는 API의 문제는 지연 로딩이다.지연 로딩 때문에 발생하는 성능 문제를 단계적으로 해결해보자. **참고 : 지금부터 설명되는 내용은 정말 중..

공부/Spring Boot 2025.02.03

웹 계층 개발

https://surrealcode.tistory.com/98 애플리케이션 구현(도메인 개발)구현 전 앞서 만든 예제를 통해 도메인 분석과 설계를 하여 구현 준비를 한다https://surrealcode.tistory.com/97 도메인 분석 설계JPA 프로그래밍의 이론을 알기 전 실전 코딩을 통해 직접 코드를 만들어surrealcode.tistory.com애플리케이션까지 구현이 마무리 되었다면, 웹 계층을 개발하도록 한다.Controller 관련과 front 관련 개발이다.thymeleaf를 사용할 예정이다. 개발 순서는 다음과 같이 진행한다.홈 화면과 레이아웃 -> 회원 등록 -> 회원 목록 조회 -> 상품 등록 -> 상품 목록 -> 상품 수정 -> 변경 감지와 병합(merge) -> 상품 주문 ->..

공부/Spring Boot 2024.11.25
반응형