issues
search
kim-kiwon
/
yoriking-joriking-be
요리킹 조리킹 BE
0
stars
0
forks
source link
프로젝트 셋업
#1
Closed
kim-kiwon
closed
1 year ago
kim-kiwon
commented
1 year ago
작업내용
Coding Convention과 Fomatter 설정
인텔리제이 컨벤션 설정법
참고
멀티 모듈 구현 > 구조
추후 Auth / Batch 추가 대비하여 모듈 구조 분리
전체적인 구조는
우아한 멀티모듈
참고
구조
Application 계층
하위 모듈을 조립하여 비즈니스 로직을 수행하는 최상위 계층
배포의 단위가 된다
Domain 계층
특정 DB 를 담당하는 모듈들이 위치함. Mysql / Redis 등
도메인과 리포지토리가 위치한다.
Core 계층
공통 응답 / 공통 예외 등이 위치하게될 Core 계층
Etc 계층
어플리케이션 외적인 요소들이 위치하는 계층
빈 후처리기를 이용해 하위 계층 Yaml 을 상위로 밀어 넣어주는 yaml-importer 가 위치한다.
참고
Application 계층은 applications 의 하위 모듈에, 다른 계층들은 Modules 의 하위 모듈로 위치한다.
컴포넌트 스캔을 위해 Application 계층은 패키지 구조상 한 depth 위에 위치시킨다.
Application
com.cook.yoriking
Core
com.cook.yoriking.core
domain
com.cook.yoriking.mysql
멀티 모듈 구현 > Root 프로젝트
멀티모듈에서 Root 프로젝트의 build.gradle 은 공통 의존 라이브러리나 공통 플러그인을 정의할 수 있다.
build.gradle
buildscript
lombok, spring-boot-gradle-plugin 의 버전을 명시해주었다.
subprojects
하위 모듈들에 적용할 공통 플러그인과 공통 의존성을 정의하였다.
java-library 는 java 를 포함하며 implemention / api 등의 gradle 기능을 제공한다.
java-library 관련 참고
어플리케이션 계층에는 하위 모듈의 application.yaml 을 밀어넣어줘야하므로 yaml-importer 의존성을 추가했다.
Spring Actuator 구성
추후 배포 후 확인을 위해 Spring Actuator 를 추가했다.
info 와 health 를 열어두었으며. probes 를 enabled 하여 /health/liveness 도 열어두었다.
작업내용
Coding Convention과 Fomatter 설정
멀티 모듈 구현 > 구조
멀티 모듈 구현 > Root 프로젝트
Spring Actuator 구성