spring boot : entity <-> dto 변환 방법에 대한 고민( MapStruct 에 대해)

개요프로젝트를 진행하며 여러 layer사이에 데이터를 전달할 때, dto, entity 간 변경이 자주 일어나는 상황에 변환하는 코드를 일일이 적어넣는 것이 불편했습니다.   예시로 보면, member  한 명을 생성하는 post api는 다음처럼 작성되어 있었습니다.  @Controller@RequiredArgsConstructorclass MemberController { private final MemberService memberService; @PostMapping() public Member createMember(@RequestBody MemberDto memberDto){ //dto 사용 Member member = memberService.createM..

spring boot 2024.10.09 0

spring boot 사이드 프로젝트 : 테스트 시나리오를 세우고 jmeter를 통해 부하 테스트 해보기

프로젝트를 배포, 운영해보면서 내 프로젝트에 어디서 병목 현상이 발생하는지, 트래픽은 어느 정도까지 감당할 수 있는지 확인이 필요한 경우를 공부한 과정입니다. 테스트하는 프로젝트는 sns 사이드 프로젝트로, 간단히 포스팅을 쓰고, 댓글 및 좋아요가 가능한 기본적인 커뮤니티입니다. 테스트는 다음과 같이 시나리오를 설정하고, 진행했습니다. 테스트 시나리오 구성 근거 실제로 클라우드에 배포하는 건 돈 때문에ㅜㅜ 제 컴퓨터 스펙의 서버를 기준으로 잡고 일단 테스트 기준을 세웠습니다. 1. 서버 스펙 제 컴퓨터 스펙은 다음과 같습니다. cpu : AMD Ryzen 5 3500X 6-Core Processor 3.59 GHz (6코어 입니다.)메모리 : 16GBdisk : sdd 500GB 2. ..

개인 프로젝트 2025.02.20 0

spring boot 사이드 프로젝트 : spring의 @EventListener 사용기

sse 를 이용한 알림 시스템을 구현하며, 코드 개선을 고민하던 중 EventListener를 적용해 개선이 가능하다는 것을 알게 되었습니다. 이 글은 해당 기능 적용기에 대한 포스팅입니다. 1. spring의 @EventListener란? 이벤트 발행/구독 메커니즘특정 이벤트가 발생했을 때, 해당 이벤트를 구독하고 있는 리스너들에게 알림을 보내 관련 로직을 수행하도록 하는 방식입니다.제 코드에서 이벤트 발생 위치는 포스팅 생성 메서드가 되겠고, 이벤트를 구독하는 리스너는 알림 시스템이 되겠습니다. EventListener 원리이벤트 발행/구독 시스템은 spring에서 제공하는 @EventListener 어노테이션을 이용해 구현이 가능합니다.EventListener 를 통해 이벤트 발행/구독 동작을..

개인 프로젝트 2025.08.26 0

spring boot JPA : 컬렉션 형태의 데이터를 저장하기(@ElementCollection)

데이터베이스에 단일값이 아닌 컬렉션 형태(list 같은) 값을 넣는 것은 RDB에서 허용되지 않는다. 이 때문에 컬렉션 형태의 값이 필요하다면, 추가적인 테이블을 만든 뒤 그 테이블과 연관관계를 형성하는 방법을 사용해야 한다. 이 때 사용되는 방법이 @ElementCollection을 사용하는 것이다. @ElementCollection public class Post extends BaseEntity { @Column(nullable = false) private String type; @Column(nullable = false) private String title; @Column(nullable = false) private String text; @Column private String proce..

spring boot 2023.06.17 0