-
Spring boot 패키지 구조Java 2023. 10. 17. 15:32
계층형 vs 도메인형
계층형 구조
- 각 계층을 대표하는 디렉터리를 기준으로 패키지를 나눈 것
- 장점: 프로젝트의 이해도가 낮아도 전체적인 구조를 빠르게 파악 가능
- 단점: 디렉터리 안에 클래스들이 많이 모이게 됨
도메인형 구조
- 도메인 디렉터리를 기준으로 패키지를 나눈 것
- 장점: 도메인의 관련 코드를 응집할 수 있음
- 단점: 프로젝트의 이해도가 낮을 경우 전체적인 구조 파악 어려움
계층형 Directory 구조
src/main/java
자바 파일들을 담음
- controller
- service
- db
- repository (dao)
- entity
- global (공통적으로 사용되는 것들)
- auth
- exception
- model (dto)
- config: JpaConfig.java
src/main/resources
리소스 파일들을 다음
- static (정적인 웹 리소스)
- html, js, css, img
- templates
- thymeleaf
- application.yml (=application.properites)
src/test/java
테스트에 필요한 Junit 테스트 케이스
src/test/resources
테스트에 필요한 설정 파일
도메인형 Directory 구조
src/main/java
- doamin
- insurance
- controller
- entity
- service
- repository
- exception
- model (dto)
- ... 다른 도메인들
- insurance
- global (공통적으로 사용되는 것들)
- auth
- exception
- common
- request
- response
- config
참고
https://velog.io/@sunil1369/Spring-boot-%ED%8C%A8%ED%82%A4%EC%A7%80-%EA%B5%AC%EC%A1%B0
'Java' 카테고리의 다른 글
Spring 구조2 (0) 2023.10.17 Spring 구조1 (0) 2023.10.17 Spring boot 프로젝트 만들기 (0) 2023.10.17