일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 개발
- sql
- 데이터베이스
- restapi
- javascript
- crud
- 자바
- 스프링
- JS
- reactjs
- 자바스크립트
- DATABASE
- jdk
- 스프링부트
- Vue
- 보안취약점
- java
- springboot
- GIT
- 개발공부
- 쿼리
- Spring
- component
- mssql
- 리액트
- EXTJS
- 컴포넌트
- table
- React
- Intellij
- Today
- Total
준준의 기록일지
[스프링부트] 패키지 구조에 대한 고민 본문
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
현재 진행하려고 하는 패키지 구조
문제점
- user라는 클래스를 어디에 둘지 애매하다.
- user 클래스가 board나 login 양쪽에서 쓴다면 user클래스 위치가 애매해진다. -> domain>model>user 묶음 controller>login 묶음으로 가는건 어떤가?
피드백받은 해결 방안
- 상위 패키지를 api로 두고 레스트 컨트롤러만 따로 모아서 개발
- 각각 기능을 패키지로 쪼개서 기능 단위로 묶는 방식?
- api 패키지와 web 패키지 분리
- 타임리프로 데이터를 보내는 용도는 web 패키지 안에
- use_case와 domain은 분리하는 것이 좋다.
배민 기술블로그의 헥사고날 아키텍처 스타일
DDD 패키지 구조 ( Domain - Driven - Layering )
예제 : https://github.com/citerus/dddsample-core
GitHub - citerus/dddsample-core: This is the new home of the original DDD Sample app (previously hosted at sf.net)..
This is the new home of the original DDD Sample app (previously hosted at sf.net).. - GitHub - citerus/dddsample-core: This is the new home of the original DDD Sample app (previously hosted at sf....
github.com
최근 유행한다는 클린 아키텍쳐
특이하게 gateway방식으로 JPARepository를 구현해주는 것 같다.
당장 새 프로젝트에 사용하기엔 조금 어려워보인다.
'스프링' 카테고리의 다른 글
[Spring] Paging 처리 코드 (0) | 2021.12.14 |
---|---|
[JPA, MSSQL] varchar와 nvarchar의 차이 및 String -> NVARCHAR 형변환 방법 (0) | 2021.11.22 |
[DTO] 왜 Entity와 나눠야하는가에 대한 고민 (0) | 2021.09.06 |
[JPA] JPA, Hibernate, Spring Data JPA (0) | 2021.08.31 |
[스프링 부트와 AWS로 혼자 구현하는 웹 서비스] Spring 비즈니스 로직의 영역 설명 (0) | 2021.08.27 |