프로젝트 생성하기
먼저, 우리의 여정을 시작하기 위해 JDK 17을 선택했어요! 🌟 JDK 8이 인기 많지만, 여기에 잘 설명된 다양한 이유들로 JDK 17을 선택했습니다. 그 다음, 빌드 도구로는 Gradle을 선택했어요. Gradle과 Maven을 비교한 자세한 정보는 여기에서 확인할 수 있습니다.
그 다음 단계에서는 Spring Boot 버전을 2.7.3으로 설정합니다. Root Project의 build.gradle
은 곧 삭제할 거니까, Dependencies는 신경 쓰지 않아도 돼요!
이제, Root Project(florry
) 아래에 florry-client-user-api
와 florry-domain
같은 모듈로 사용할 디렉토리들을 만들어볼까요? 🛠️
rootProject.name = 'florry'
include 'florry-client-user-api'
include 'florry-domain'
위 코드처럼, settings.gradle
에서 프로젝트와 모듈의 구조를 정의해줍니다.
Root Project의 build.gradle
파일을 각 모듈로 복사한 다음에는, Root Project의 build.gradle
파일을 삭제해요. 이 접근 방식은 Gradle 문서를 참조했습니다. Gradle 버전 별로, 프로젝트 별로 다양한 방법이 있지만, 이 방법이 가장 쉽고 접근하긴 좋더라구요!
이제 각 모듈에 필요한 디렉토리를 추가할 시간이에요. build.gradle
의 plugins - id ‘java’
를 IntelliJ가 읽어서 자동으로 Gradle Source Sets
를 추천해줍니다. 추천된 모든 설정을 선택하고 추가하면 돼요.
마지막으로, 각 모듈의 main - java
아래에 패키지를 만들고, API 모듈에는 아래와 같이 Main 클래스를 작성합니다.
@SpringBootApplication
public class UserApiApplication {
public static void main(String[] args) {
SpringApplication.run(UserApiApplication.class, args);
}
}
API를 구현할 모듈에는 서로 공통된 패키지 명(com.florry
) 바로 아래에 Main 클래스를 위치시킵니다. 이 위치에 클래스를 두지 않으면, Spring Context에 Bean이 제대로 등록되지 않을 수 있어요. 이런
실수로 인해 한참을 헤매던 경험이 있으니 주의하세요! 😉
이렇게 멀티 모듈 프로젝트의 기본 구조를 설정했어요! 이제 비즈니스 로직 구현을 위한 준비가 완료되었습니다. 이 구조를 기반으로 멋진 코드를 작성해보아요! 💻🌟
'개발 공부 > 설계' 카테고리의 다른 글
[Spring boot][Gradle] Multiple Module 전환기 - 1. Multiple Module의 필요성을 느끼게 된 계기와 장점 (0) | 2024.01.03 |
---|