
최근 MSA 구조의 Spring Boot 프로젝트를 진행하며 Multi Module 을 사용하였다. Api Gateway 와 관련된 작업을 맡게 되어 진행하다가 Service Discovery 또한 추가하면 좋겠다는 생각이 들어 Service Discovery 모듈을 추가하게 되었다.
이 글은 Multi Module 프로젝트에서 Module을 추가하는 과정을 다룬다.

Root 프로젝트에서 우클릭을 하고 New -> Module 을 클릭해준다.

많은 종류가 있는데 현재 우리 프로젝트는 Maven 으로 관리되고 있어 Maven 으로 선택해 준다.
본인의 프로젝트가 Gradle 을 사용하고 있다면 Gradle을 선택하면 된다.
Next 를 누르게 되면 Parent를 지정할 수 있는데, Root Project로 잘 지정해주면 된다.

Module을 생성하게 되면 다음과 같은 기본적인 프로젝트 디렉토리 구조를 갖게되는데
java 디렉토리에 하위 디렉토리로 Package Name 에 맞는 디렉토리를 생성해 준다.
Maven 기반 프로젝트이기에 pom.xml 에 프로젝트에 필요한 의존성을 추가 해준다.
Gradle 을 사용한다면 build.gradle에 추가해 주자.
혹시 Root Project의 pom.xml에 새로 생성한 Module 이 등록되어 있지 않다면 등록해 주자.

생성한 Package Name 디렉토리에 "${프로젝트명}"Class를 생성해준다.
@SpringBootApplication 어노테이션과 main 메서드를 작성해준다.
나는 Service Discovery 역할을 할 서버가 필요하여 Netflix-Eureka를 사용하게 되어 @EnableEurekaServer 어노테이션을 추가로 사용하였다.