티스토리 뷰

Spring

[Spring] Spring Multi Module

sayho 2023. 7. 30. 17:20
Multi Module 이란?
  • 필요한 기능별로 Module 을 생성하는 것
  • 레고를 조립하듯 필요한 Module을 조립
  • N개의 Module이 조립되어있는 프로젝트를 Multi Module 프로젝트라고 부름
  • 예를들어 API 서버에서도 DB Entity 가 필요하고 Batch 서버에도 동일한 DB Entity 가 필요한데 중복으로 관리하면 리스크가 늘어남
  • 중복된 Entity를 모듈화하여 사용하기 위해 Multi Module 프로젝트를 사용
Exception 핸들링
  • 언어 또는 프레임워크에서 발생한 Exception 은 반드시 Custom 하게 Wrapping 하여 처리하여야 함
  • @RestControllerAdvice 어노테이션을 사용하여 모든 예외를 해당 클래스에서 클라이언트와 사전에 정의한 값으로 재정의
Multi Module 구조에서 Gradle을 사용한 배포
  • Multi Module 구조에서는 원하는 Module을 골라서 빌드, 배포가 가능
Multi Module 프로젝트 생성방법
  • 루트 프로젝트 생성 : 라이브러리를 선택하지 않고 껍데기만 있는 루트 프로젝트를 생성한다. src 폴더는 삭제해준다
  • 모듈 프로젝트 생성 : 루트 프로젝트에서 오른쪽 마우스 버튼을 클릭하고 Module 프로젝트 생성을 클릭
루트 프로젝트에 모듈 프로젝트 명시 (setting.gradle)
rootProject.name = 'multimodule'

include 'module-common'
include 'multimodule-api'
사용할 모듈 프로젝트 build.gradle 에 import
implementation project(':module-common')
tasks.register("prepareKotlinBuildScriptModel"){}
**-plain.jar 와 **.jar 차이점
  • xxx-plain.jar 은 리소스와 클래스 파일만 포함하기 때문에 실행시킬 수 없는 파일
  • 빌드된 파일의 위치는 /build/libs 하위에 있음
Profile
  • 환경별로 profile 값이 다른 경우
  • application-local, application-pdev, application-prod 
  • java -jar -Dspring.profiles.active=local **-SNAPSHOT.jar
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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 29 30 31
글 보관함