Spring

    스프링 Redis 테스트 환경 구축하기 (Embedded Redis, TestContainer)

    스프링 Redis 테스트 환경 구축하기 (Embedded Redis, TestContainer)

    예제 및 테스트 코드는 github 에서 확인 가능합니다. Spring 에서 Redis를 테스트 하는 방법 이번엔 Spring 에서 Redis를 테스트 하는 방법에 대해 알아보려 합니다. Embedded Redis Test-Containers Redis를 테스트 한다면 다음과 같은 방법들을 이용해 테스트를 진행할 수 있습니다. 로컬pc에 직접 Redis를 띄워서 테스트 코드를 검증하는 경우도 많이 봤지만 그런 방식은 저는 추천드리지 않습니다. 테스트 코드는 어느 환경에서든 동일하게 실행되어야 한다고 생각합니다. 만약 로컬Pc에 Redis를 설치하여 테스트한다면 다음과 같은 문제점이 있습니다. 테스트를 수행하는 pc마다 Redis 인스턴스를 직접 구축해야 하는 번거로움이 있다. 로컬 Redis에 이미 저장..

    Spring @Valid Annotation을 이용한 유효성 검증과 예외처리

    Spring @Valid Annotation을 이용한 유효성 검증과 예외처리

    예제 및 테스트 코드는 github 에서 확인 가능합니다.Valid 사용하기Spring 에서는 유효성 체크를 위하여 @Valid annotation 을 지원합니다.Valid는 JSR-303(Bean Validation) 표준 스펙으로서 제약조건이 있는 객체에게 Bean Validation 을 이용해 조건을 검증하는 어노테이션입니다.사용 예제환경Spring boot 2.6.2java11build.gradle// gradleimplementation('org.springframework.boot:spring-boot-starter-validation')valid 를 사용하기 위해 위 의존성을 추가합니다. spring boot 2.3 이상부터는 spring-boot-starter-web 의존성 내부에 있던 v..

    MapStruct를 이용해 객체를 변환하는 방법

    MapStruct를 이용해 객체를 변환하는 방법

    예제 및 테스트 코드는 github 에서 확인 가능합니다.개요코드를 작성하다보면 Layer를 전환하며 객체를 전환하며 매핑하거나 여러 객체를 합치거나 하는 다양한 경우를 만나게 됩니다.흔히 겪는 예시로는 presentation layer 에서는 DTO , service layer , repository layer 에서는 Entity 를 사용하는 예시를 들 수 있습니다.이를 매핑하기 위해서는 model mapper , 정적 팩토리 , object mapping 등의 방법을 다양한 이용해 모델을 매핑하고 있습니다.저는 제가 사용하는 mapstruct 에 대해 간략하게 소개하려고 합니다.mapstructmapstruct github page에서는 mapstrut를 다음과 같이 소개하고 있습니다.간략하게 요약하..