Spring Framework/SpringBoot

[SpringBoot] SpringBoot 프로젝트 생성 시 Project Metadata 정리

Razelo 2025. 8. 31. 23:08

 

Group

프로젝트를 구분하는 조직/회사/팀의 도메인 

- 회사도메인: com.mycompany

- 개인 프로젝트: io.github.razelo 

 

Artifact

빌드 결과물 이름

jar또는 war로 패키징된 산출물 파일의 이름이 됨 

artifact를 razelo-backend라고 하면 빌드 시 razelo-backend-0.0.1-SNAPSHOT.jar의 파일 생성 

 

Name

프로젝트의 표시용 이름 

보통 Artifact와 같게 쓰는데 달라도 상관없음 

SpringBoot는 spring.application.name 기본값으로 이걸 사용합니다. 

 

Package name

코드의 루트 패키지 경로 

기본적으로 Group + Artifact 조합으로 자동 생성됨 

여기서 지정하는 값이 @SpringBootApplication이 위치하는 루트 패키지가 되고, 

하위 패키지만 컴포넌트 스캔(@Component, @Service, @Repository) 대상이 된다. 

그래서 보통 회사/팀 도메인 + 서비스명으로 작성함

ex) com.mycompany.coupon 

 

 

 

예를 들어, 회사에서 쿠폰 서비스를 만든다고 하면:

  • Group → com.mycompany.platform
  • Artifact → coupon-service
  • Name → Coupon Service
  • Description → Coupon management microservice
  • Package name → com.mycompany.platform.coupon

 

정리하면, 

 

  • Group = 조직/팀/도메인
  • Artifact = 프로젝트(JAR) 이름
  • Name = 애플리케이션 이름 (보통 Artifact와 동일)
  • Description = 설명 (실행에는 영향 없음)
  • Package name = 코드 시작점(루트 패키지)