Project - spring initializr 정복하기(1)
Language - spring initializr 정복하기(2)Language 1. JavaJava는 1995년에 발표된 객체지향 프로그래밍 언어로, 플랫폼 독립성과 강력한 생태계를 기반으로 한 대표적인 언어입니다.특징정적 타입 언어: 모든
jwinjection.tistory.com
Language - spring initializr 정복하기(2)
Language 1. JavaJava는 1995년에 발표된 객체지향 프로그래밍 언어로, 플랫폼 독립성과 강력한 생태계를 기반으로 한 대표적인 언어입니다.특징정적 타입 언어: 모든 변수와 메서드의 타입이 컴파일
jwinjection.tistory.com
Spring Boot - spring initializr 정복하기(3)
Spring Boot1. SNAPSHOT이 없는 버전예: 3.4.0, 3.3.6특징릴리즈(Release) 버전: 최종적으로 안정화된 버전이며, 정식으로 배포된 상태.변경되지 않음: 한 번 배포되면 해당 버전 번호에 해당하는 코드는
jwinjection.tistory.com
Project Metadata
1. Group (그룹 ID)
- 예: com.example
- 의미:
- 프로젝트가 속한 그룹(조직, 회사 등)을 정의하며, 일반적으로 역방향 도메인 이름 형식을 사용.
- Maven 또는 Gradle에서 프로젝트를 고유하게 식별하는 데 사용되는 중요한 요소.
- 역할:
- Java 패키지 구조를 나타내고, 프로젝트의 고유성을 보장.
- 예: com.example.demo는 com.example 그룹 ID 아래에 demo라는 이름의 프로젝트가 있음을 나타냄.
2. Artifact (아티팩트 ID)
- 예: demo
- 의미:
- 빌드 후 생성될 파일 이름을 정의 (보통 .jar 또는 .war 파일).
- 프로젝트의 고유 이름 역할을 하며, 동일한 Group 내에서 유일해야 함.
- 출력 파일 예시:
- demo-0.0.1-SNAPSHOT.jar (버전과 파일 형식을 포함한 최종 산출물).
3. Name (이름)
- 예: demo
- 의미:
- 프로젝트의 이름을 정의하며, Maven/Gradle 빌드에서 사용하는 기본 식별자.
- Artifact와 동일하게 설정하는 경우가 많음.
- 용도:
- 프로젝트에서 사용하는 일반적인 이름으로 표시.
4. Description (설명)
- 예: Demo project for Spring Boot
- 의미:
- 프로젝트에 대한 간략한 설명.
- 빌드 툴(Maven/Gradle)에서 문서를 생성하거나 의존성 관리 도구에서 프로젝트를 검색할 때 유용.
5. Package name (패키지 이름)
- 예: com.example.demo
- 의미:
- 기본 Java 패키지 이름. 소스 코드를 저장할 디렉토리 구조를 정의.
- 보통 Group과 Artifact를 결합하여 생성.
- 역할:
- Java 클래스 파일의 네임스페이스를 관리하고, 프로젝트 내에서 클래스를 고유하게 식별.
6. Packaging (패키징)
- 선택: Jar 또는 War
- 의미:
- 빌드 후 프로젝트가 생성될 아티팩트 유형을 결정.
- Jar: 독립 실행형 Java 애플리케이션. Spring Boot에서는 Jar가 기본값.
- War: 기존 Java 웹 애플리케이션 서버(Tomcat, JBoss 등)에 배포 가능한 파일 형식.
- 선택 기준:
- Jar: 독립적으로 실행할 애플리케이션을 개발할 때 (Spring Boot 기본 설정).
- War: 기존 웹 애플리케이션 서버에 배포할 때.
7. Java
- 예: 17
- 의미:
- 프로젝트에서 사용할 Java 버전.
- Spring Boot는 최신 Java LTS(Long Term Support) 버전을 권장 (예: Java 17).
- 역할:
- 프로젝트 빌드 및 실행 시 Java 컴파일러와 런타임 환경을 설정.
정리된 메타데이터
이 메타데이터는 Spring Boot Initializer(https://start.spring.io) 또는 수동으로 프로젝트를 설정할 때 사용되며, 최종적으로 프로젝트를 Maven 또는 Gradle로 관리하기 위한 주요 설정 파일(pom.xml 또는 build.gradle)에 반영됩니다.
예시 (Maven 설정으로 변환된 모습)
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<packaging>jar</packaging>
<properties>
<java.version>17</java.version>
</properties>
</project>
예시 (Gradle 설정으로 변환된 모습)
plugins {
id("org.springframework.boot") version "3.0.0"
id("io.spring.dependency-management") version "1.0.15.RELEASE"
kotlin("jvm") version "1.7.20"
kotlin("plugin.spring") version "1.7.20"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_17
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
Spring Boot 프로젝트 생성 시 메타데이터 역할
이 메타데이터는 프로젝트를 구성하고 빌드 환경과 배포 유형을 설정하는 데 필요한 중요한 정보입니다. 이를 바탕으로 Spring Boot가 Maven 또는 Gradle을 통해 의존성을 관리하고, 애플리케이션을 빌드 및 실행할 수 있도록 지원합니다.
'웹 개발 > 🍃 SpringBoot' 카테고리의 다른 글
SpringBoot | GET API를 작성하는 방법 (0) | 2024.12.23 |
---|---|
JUnit5 | 기본 테스트 어노테이션 (0) | 2024.12.18 |
Spring Boot - spring initializr 정복하기(3) (0) | 2024.12.17 |
Language - spring initializr 정복하기(2) (0) | 2024.12.17 |
Project - spring initializr 정복하기(1) (0) | 2024.12.17 |