src
└─── main
├─── java.com.fortice.study
│ ├─── StudyApplication.java
│ ├─── config
│ ├─── controller
│ ├─── dao
│ ├─── domain
│ ├─── exception
│ └─── service
└─── resource
└─── application.properties
src
└─── main
├─── java.com.fortice.study
│ ├─── StudyApplication.java
│ ├─── member
│ │ ├─── controller
│ │ ├─── domain
│ │ ├─── exception
│ │ ├─── repository
│ │ └─── service
│ └─── coupon
│ ├─── controller
│ ├─── domain
│ ├─── exception
│ ├─── repository
│ └─── service
└─── resource
└─── application.properties
위와 같은 두개의 구조가 있는데, GitHub에 Spring 프로젝트를 검색해 봤다. 도메인 구조가 많은 것 같아 한번 도메인 구조를 따라보기로 했다.
src
└─── main
├─── java.com.fortice.study
│ ├─── StudyApplication.java
│ ├─── domain
│ │ ├─── member
│ │ │ ├─── api
│ │ │ ├─── application
│ │ │ ├─── dao
│ │ │ ├─── domain
│ │ │ ├─── dto
│ │ │ └─── exception
│ │ └─── model
│ │ └─── User.java
│ ├─── global
│ │ ├─── common
│ │ │ ├─── request
│ │ │ └─── response
│ │ ├─── config
│ │ │ ├─── properties
│ │ │ └─── security
│ │ ├─── error
│ │ │ ├─── ErrorResponse.java
│ │ │ ├─── GlobalExceptionHandler.java
│ │ │ └─── exception
│ │ └─── util
└─── resource
└─── application.properties