Spring Boot 기본 프로젝트 구조
Gradle로 생성된 프로젝트 구조
src/main
프로젝트 코드가 있음.
main/java
@SpringBootApplication Class(main)가 있음.
하위 패키지는 자동으로 컴포넌트 스캔이 적용됨.main/resources
static, templates, application.properties 등이 있음.
src/test
TestAplication이 있음.
Gradle, git 관련 파일 의존성 관리 및 설정을 할 수 있다.
Spring MVC 패턴에 따른 패키지 구조
controller, model(dto), repository(dao), service 로 분류되고,
프로젝트 규모에 따라서 계층형 또는 도메인형으로 나뉘게 된다.
계층형
계층형 구조는 controller, model(dto), repository(dao), service 로 패키지를 구분하고 동일한 역할을 하는 클래스들을 모아둔 구조다.
특징 :
전체적인 구조를 빠르게 파악할 수 있는 장점이 있지만, 그와 반대로 규모가 커지게 될 경우 오히려 단점으로 나타날 수 있다. 만약 해당 구조를 적용하게 된다면 규모가 작은 프로젝트에 적합하다.
도메인형
도메인형 구조는 사용하는 도메인 별로 controller, model(dto), repository(dao), service 를 각각 생성하는 구조다.
특징 :
도메인별 응집도가 높아진다.
각각 도메인의 흐름을 파악하기 쉽다.
패키지의 대한 변경점이 있을때 도메인별로 나누어져 있기 때문에 리팩토링시 이점이 있다.
'Spring' 카테고리의 다른 글
Spring의 핵심 개념 (POJO, IoC/DI, AOP, PSA) (0) | 2023.06.14 |
---|---|
Spring Boot 🌼 구동 및 테스트 (0) | 2023.06.14 |
Spring Boot🌼 프로젝트 생성하기 (0) | 2023.06.14 |
Spring Boot 🌼 환경 설정 (0) | 2023.06.14 |
Spring / Spring Boot 알아가기 (0) | 2023.06.14 |