spring

Spring

[Spring] MapStruct 사용 주의 사항

DTO Entity 변환을 위해 자주 사용하는 MapStruct를 사용하며 겪은 주의 사항들을 정리 1. MapStruct는 Getter, Setter, Builder 기반으로 동작 MapStruct가 클래스간 매핑 코드를 만들때 타겟 클래스의 Getter, Setter를 기반으로 코드를 생성한다. 다만 MapStruct 사용을 위해 클래스에 Setter를 만드는것이 꺼림칙 하다면, Builder로 대체할 수 있다ㅡ. 2. Spring에서 Mapper 생성시 @Mapper 옵션으로 componentModel = "spring" 선언으로 해당 Mapper가 Bean으로 등록될 수 있도록 해야 동작한다. @Mapper(componentModel = "spring") public interface Member..

Spring

[Spring] Redis Template과 Redis Repository

Spring Boot Starter Redis를 사용하는 경우, Redis를 핸들링 하기 위해 Redis Template과 JPA와 유사한 방식으로 객체를 통해 Redis를 제어할 수 있는 Redis Repository 두가지 방법을 제공한다. 두가지 방법 차이를 알아보고 적절한 선택을 하여 사용하려 한다. Spring Boot Starter Redis를 사용할 때, RedisTemplate과 Redis Repository는 둘 다 Redis와 상호작용하는 데 사용되는 다른 방법이다. 어떤 방법이 더 나은지는 사용 사례와 요구 사항에 따라 달라진다. 개발자 스스로 각각의 장단점을 살펴보고 어떤 방법이 더 적합한지 판단해야 한다. ### RedisTemplate RedisTemplate은 Spring Da..

Spring

[Spring] Http Status Code 제어

조금 더 짜임새 있는 Restful API를 구현하려 하다 보니 신경쓸 부분이 생각보다 많다는 것을 알았다. 그 중 요청에 따른 반환되는 상태코드가 적절해야한다는 부분이 있어 정리해본다. 하나를 알면 열개를 배워야 되는... HTTP Status Code 제어 일반적으로 클라이언트의 요청에 따른 결과값은 200 OK Status Code을 반환 받게 된다. 이는 정상적인 처리가 되었다는 의미이다. 그렇지만 Restful 하게 코드를 작성한다면 GET, POST의 용도가 다르기 때문에 반환되는 상태코드도 나누어주면 조금더 짜임새있는 코드를 작성할 수 있다. 기존코드 @PostMapping("/user") public void setUser(@RequestBody User user){ User resultU..

Spring

[JPA]Spring Data JPA 시작

개요 MyBatis로 개발을 하던 중 요즘 많은 곳에서 JPA를 사용한다는 이야기를 접하게 되었다. 결과적으로 MyBatis와 달리 생산성이 어마무시하게 늘어나는 걸 보고 본격적으로 공부하고 정리해보게 되었다. 목차 1. JPA란? 2. JPA 사용 목적 3. SpringData JPA를 이용한 간단한 CRUD JPA란? JPA는 자바 진영의 ORM 기술 표준이다. 아주 오래전 EJB를 사용하던 때 한 회사원이 EJB의 복잡성과 어려움에 견디지 못하고 퇴근하고 Hibernate를 만들었고 이걸 접한 JAVA에서 Hibernate 담당자들을 데려와 여러 개발자와 함께 JPA 표준을 만들었다는 이야기가 있다. 중요한건 JPA는 하나의 명세일뿐 JPA를 기반으로 Hibernate, OpenJPA, Eclips..

Java

[인증] JWT(Java Web Token) 사용

1. JWT 란? 사용자의 요청에 따라 서버에서 만들어진 암호화된 토큰을 반환하여 사용자 측에 저장 이후 토큰을 사용하여 인증과정을 진행 2. JWT 구조 - Header -> 어떤 타입의 데이터 어떤 알고리즘을 사용 - Payload(Claims) - Signature -> 데이터와 토큰이 위변조 되지 않았음을 증명 3. Spring Security + JWT 구현 Spring Security에서 알아두어야 할 두가지 개념 - Authentication (인증) Authentication은 주체(principal)의 신원을 증명하는 과정입니다. - Authorization (인가) Authorization은 인증을 마친 사용자에게 권한을 부여하여 특정 리소스에 접근할 수 있도록 허가하는 과정입니다. 스..

turtleDev
'spring' 태그의 글 목록 (2 Page)