Skip to content

chlgkrws/spring-boot-multi-module

Repository files navigation

📚 Spring Boot를 이용한 멀티모듈 설계


✅ 개요

신규 프로젝트 진행 시 빠르게 멀티모듈 환경을 적용하기 위해 Spring Boot를 이용한 멀티모듈 구조를 설계함



🖥 개발 환경

  • Java 11
  • Gradle 6.9
  • Spring Boot 2.5.8
    • Spring Web
    • Spring Data JPA
    • Spring Security
    • Spring REST Docs
    • Spring HATEOAS
    • JUnit 5
    • Thymeleaf
  • Querydsl 4.4.0
  • H2 2.0.202



📜 프로젝트 구조

temo - TEMporary layOut

temo-project
    ├── temo-application         --> 애플리케이션 실행 모듈
    ├── temo-core                --> Utils, POJO 클래스를 갖는 모듈
    ├── temo-internal-api        --> 애플리케이션 내부에서 사용하는 API 모듈
    ├── temo-security            --> 스프링 시큐리티 설정 모듈
    └── temo-web-thymeleaf       --> 타임리프 모듈

모듈 간 관계

image

  • 해당 이미지의 의존성은 현재 프로젝트에 적용된 의존성일뿐, 의존성을 추가하거나 삭제하는 것은 사용자가 원하는대로 변경 가능

🔄 애플리케이션 실행

[Intellij]

소스 Clone 후 temo-application 모듈에 존재하는 TemoApplication main 메서드 실행

[bootJar]

Gradle BootJar Task 실행 후 temo-application/build/libs에 빌드된 jar를 터미널에서 실행

java -jar temo-application-1.0-SNAPSHOT.jar



📑 비고

Spring REST Docs와 Querydsl 설정은 temo-internal-api 모듈에 Example 코드 참조


📌 Reference

Spring 공식 가이드 - 멀티모듈 설계

멀티모듈 환경 - 빈 등록

멀티모듈 환경 - 테스트 작성

멀티모듈 환경 - Build.Gradle 공통화

REST DOCS 환경 설정 - 1

REST DOCS 환경 설정 - 2

REST DOCS 환경 설정 - 3

Querydsl 환경 설정

Thymeleaf 환경 설정

About

스프링 부트를 이용한 멀티모듈 설계

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published