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` 구현체 생성