[java] 자바 스프링 부트 멀티모듈 프로젝트 구성 방법

이번에는 자바 스프링 부트를 사용하여 멀티모듈 프로젝트를 구성하는 방법에 대해 알아보겠습니다. 멀티모듈 프로젝트를 구성하면 코드의 재사용성을 높일 수 있고, 유지보수가 용이해지는 등의 장점이 있는데요. 이를 위해 스프링 부트에서는 Gradle이나 Maven과 같은 빌드 도구를 사용하여 여러 모듈을 하나의 프로젝트로 관리할 수 있습니다.

1. 프로젝트 구성

스프링 부트 멀티모듈 프로젝트를 구성할 때는 기본적으로 부모 프로젝트서브 모듈을 생성해야 합니다. 부모 프로젝트는 서브 모듈들을 관리하는 루트 프로젝트 역할을 하며, 서브 모듈은 실제 프로젝트의 모듈이 됩니다.

부모 프로젝트 디렉토리 구성:

parent-project/
  ├── sub-module1/
  ├── sub-module2/
  └── build.gradle (or pom.xml for Maven)

2. Gradle을 사용한 멀티모듈 프로젝트 구성

Gradle을 사용하여 멀티모듈 프로젝트를 구성하는 방법은 다음과 같습니다:

1. 프로젝트 디렉토리 생성 먼저, 부모 프로젝트 디렉토리를 생성하고 서브 모듈을 추가합니다.

mkdir parent-project
cd parent-project
mkdir sub-module1
mkdir sub-module2

2. settings.gradle 파일 생성 settings.gradle 파일을 생성하고 서브 모듈을 추가합니다.

include 'sub-module1', 'sub-module2'

3. 부모 프로젝트의 build.gradle 파일 설정 부모 프로젝트의 build.gradle 파일에 모듈들에 대한 설정을 추가합니다.

subprojects {
    apply plugin: 'java'
    // 다른 설정들...
}

4. 각 서브 모듈의 build.gradle 파일 설정 각 서브 모듈의 build.gradle 파일에는 해당 모듈에 대한 설정을 추가합니다.

예시:

dependencies {
    implementation project(':sub-module1')
}

참고 자료

멀티모듈 프로젝트를 구성하는 방법은 Maven을 사용하는 경우에도 비슷한데, Maven을 사용할 경우에는 부모 프로젝트가 pom.xml 파일을 가지게 됩니다. 상세한 구성 방법은 Maven 공식 문서를 참고하시기 바랍니다.

이렇게 멀티모듈 프로젝트를 구성하면 각 모듈을 독립적으로 빌드하고 관리할 수 있게 되며, 소스 코드의 재사용성과 유지보수성을 높일 수 있습니다.