From d9d3be86a942e79774bedb98804f48272e43aa60 Mon Sep 17 00:00:00 2001 From: sohot8653 Date: Thu, 21 Aug 2025 15:40:33 +0900 Subject: [PATCH] =?UTF-8?q?[README.md=20=EC=97=85=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=8A=B8]=20=EA=B8=B0=EB=B3=B8=20=EB=8F=84=EB=A9=94=EC=9D=B8?= =?UTF-8?q?=20=EA=B5=AC=EC=A1=B0=20=EB=B0=8F=20=EA=B3=B5=ED=86=B5=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=ED=95=AD=EB=AA=A9=20=EC=B6=94=EA=B0=80,?= =?UTF-8?q?=20MapStruct=20=EB=A7=A4=ED=8D=BC=20=EC=82=AC=EC=9A=A9=20?= =?UTF-8?q?=EC=98=88=EC=8B=9C=20=ED=8F=AC=ED=95=A8=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=AC=B8=EC=84=9C=ED=99=94=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ca4c3ef..274482c 100644 --- a/README.md +++ b/README.md @@ -17,21 +17,28 @@ ``` src/main/java/com/bio/bio_backend/ ├── domain/ # 도메인별 패키지 -│ └── user/ +│ └── base/ # 기본 도메인 │ └── member/ # 회원 도메인 │ ├── controller/ # API 엔드포인트 │ ├── service/ # 비즈니스 로직 │ ├── repository/ # 데이터 접근 │ ├── entity/ # JPA 엔티티 -│ └── dto/ # 데이터 전송 객체 +│ ├── dto/ # 데이터 전송 객체 +│ ├── mapper/ # MapStruct 매퍼 +│ └── enums/ # 도메인 열거형 ├── global/ # 공통 설정 │ ├── config/ # 설정 클래스 │ ├── security/ # 보안 설정 │ ├── exception/ # 예외 처리 │ ├── aop/ # AOP 로깅 │ ├── filter/ # HTTP 로깅 필터 -│ └── utils/ # 유틸리티 -└── BioBackendApplication.java +│ ├── utils/ # 유틸리티 +│ ├── constants/ # 상수 정의 +│ ├── dto/ # 공통 DTO +│ ├── entity/ # 공통 엔티티 +│ └── annotation/ # 커스텀 어노테이션 +├── BioBackendApplication.java +└── ServletInitializer.java ``` ### 2. API 응답 표준화 (ApiResponseDto) @@ -273,3 +280,27 @@ public OrderDto processOrder() { } 3. **logback-spring.xml**: 로그 파일 관리 및 설정 **중요**: `@LogExecution` 어노테이션이 없으면 메서드 실행 로그가 출력되지 않습니다 + +### 8. MapStruct + +**매퍼 인터페이스** + +```java +@Mapper(componentModel = "spring") +public interface MemberMapper { + MemberDto toDto(Member member); + Member toEntity(MemberDto dto); +} +``` + +**사용 예시** + +```java +// Entity → DTO +MemberDto dto = memberMapper.toDto(member); + +// DTO → Entity +Member entity = memberMapper.toEntity(dto); +``` + +**자동 생성**: 컴파일 시 `MemberMapperImpl` 구현체 생성