1.디렉토리 구조
1-1 Layer
- 프로젝트 이해가 낮아도 전체적인 구조를 빠르게 파악 가능
- 작성 하고자하는 계층이 명확할 경우 빠르게 개발 가능
- 각 레이어 별로 수십개의 클래스들이 존재하여 코드 파악이 어 려우며 코드의 응집력이 떨어짐
1-2 Domain
- 관련된 코드들이 응집해 있음
- 디렉토리 구조를 통해 도메인을 이해할 수 있다
- 도메인 지식 없어 이해하기 어려움
- 각 계층을 구분하기 위한 논의가 필요
domain : 도메인을 담당 (API,Service 로직)
- api : 컨트롤러 클래스들이 존재
- domain : 도메인 엔티티에 대한 클래스로 구성
특정 도메인에 만 속하는 Embeddable,Enum 같은 클래스 구성
- dto : 주로 Request,Response 객체들로 구성됨
- exception : 해당 도메인이 발생시키는 Exception으로 구성
global : 프로젝트 전체 담당 (error,config 등등)
- common : 공통으로 사용되는 Value 객체들로 구성
페이징 처리를 위한 Request, 공통된 응답을 주는 Response 객체
- config : 스프링 각종 설정 구성
- error : 예외 핸들링 담당 클래스로 구성
- util : 유틸성 클래스
Infra : 외부 인프라 스트럭처 담당
2.LomBok 사용법
- @Data 는 @ToString , @EqualsAndHashCode,@Getter,@Setter, @RequiredArgsConstructor을 한번에 처리
- 무조건 적인 @Data 사용은 지양 하는것이 좋다
'스프링,스프링부트' 카테고리의 다른 글
@Transactional (0) | 2023.08.26 |
---|---|
Servlet의 이해 (0) | 2021.12.05 |
람다식 (Lambda) (0) | 2021.07.10 |
DAO, DTO, VO, Entity (0) | 2021.06.30 |
SpringBoot를 이용한 Rest API -1 (0) | 2020.07.02 |