-
스프링 멀티모듈 및 gradle 설정spring 2023. 2. 24. 11:49
기본적으로 스프링 멀티 모듈 구성할 때 가장 베이스로 나누는 것은 3가지라고 생각한다
api 모듈 : RestController를 중심으로 한 api 모듈
view 모듈 : Controller를 중심으로 한 view 모듈 (react와 같은경우 분리해서 없는 경우도 있다)
core 모듈 : 핵심 코어 (mysql 등) 을 모은 코어 모듈
주로 아래와 같이 설정하게 된다
project(":jinheung_mall_api") { dependencies { implementation project(':jinheung_mall_core') } } project(":jinheung_mall_view") { dependencies { implementation project(':jinheung_mall_core') } }
하지만 중복 된 것을 좀 더 줄이고 싶었던 사람이라 나 같은 경우는 module을 추가적으로 만들었다
common, web_common
하나하나 설명을 하면 common은 순수 자바로 이루어진 enum, const, method 들을 정의 했다 예를 들면
security 공통 헤더에 들어갈 이름을 정의 했다
class SecurityConst { companion object { private const val USER_ID_HEADER : String = "x-user-id" private const val USER_AUTHORITIES_HEADER : String = "x-user-authorities" fun getUserIdHeaderName() : String { return USER_ID_HEADER } fun getAuthoritiesHeaderName() : String { return USER_ID_HEADER } } }
web_common은 mvc관련하여 공통적으로 security 설정, 에러 핸들링을 담았다 보면 알겠지만 controllerAdvice, 상속받은 런타임 에러 등등이 있다
'spring' 카테고리의 다른 글
spring boot를 위한 was (0) 2023.03.23 spring을 이용한 MSA 구축 - spring cloud gateway - 2 (0) 2023.03.19 test 설정 - 2 github actions 설정 (0) 2023.03.10 test 설정 - 1 spring boot (0) 2023.03.09 spring을 이용한 MSA 구축 - spring cloud gateway - 1 (0) 2023.03.05