1. Spring Initializr
Spring 기반으로 Spring Boot 프로젝트를 만들어주는 사이트
2. 화면 설명
1) Project
Gradle - Groovy
Gradle - Kotlin
Maven
- Maven과 Gradle은 Java 프로젝트를 빌드하고 관리하는 도구
- Legacy Project는 Maven을 많이 사용하나, 최신 프로젝트는 Gradle을 많이 사용함
(1) Maven
- 특징
- XML 기반의 프로젝트 구성 파일인 `pom.xml`을 사용함
- Convention over Configuration 원칙에 따라, 프로젝트 디렉터리 구조와 빌드 생명주기를 정의함
- 사용법
- Maven 설치 필요
- `pom.xml` 파일을 작성하여 프로젝트 구성을 정의하고, Maven 명령어를 사용하여 빌드, 테스트, 패키징 등을 수행함
- Maven은 중앙 저장소에서 의존성을 자동으로 다운로드하고 관리함
- 명령어
- mvn clean: 빌드된 파일을 제거함
- mvn compile: 소스 코드를 컴파일함
- mvn package: JAR, WAR, 또는 기타 패키지로 프로젝트를 패키징함
- mvn test: 단위 테스트 실행함
(2) Gradle
- 특징
- Maven에 비해 더 유연하며, 성능 우수함
- 증분 빌드, 병렬 빌드, 그루비 스크립트 실행 등 다양한 기능을 제공함
- 멀티 프로젝트 빌드 및 다양한 플러그인을 지원함
- 사용법
- Gradle 설치 필요
- `build.gradle` 파일을 작성해야 함
- `build.gradle` 파일에서 프로젝트의 의존성, 빌드 구성, 플러그인 설정 등을 정의함
- 명령어
- gradle clean: 빌드된 파일을 제거함
- gradle build: 프로젝트를 빌드함
- gradle test: 단위 테스트를 실행함
- gradle tasks: 사용 가능한 모든 태스크 나열함
2) Language
Java
Kotlin
Groovy
- JVM(Java Virtual Machine)에서 실행되는 프로그래밍 언어
3) Spring Boot
3.3.0 (SNAPSHOT)
3.3.0 (M3)
3.2.5 (SNAPSHOT)
3.2.4
3.1.11 (SNAPSHOT)
3.1.10
(1) Snapshot
- 개발 중인 버전
- 공식적으로 릴리즈되지 않은 개발 버전을 의미하며, 여러 가지 개선이나 새로운 기능이 포함될 수 있음
- 보통 개발자들이 새로운 기능이나 변경 사항을 테스트하고 피드백을 제공하기 위해 사용됨
(2) M3
- `Milestone 3`의 준말로, `Meilenstein`의 약자임
- 마일스톤은 프로젝트의 주요 단계를 나타냄
- 정식 릴리즈되지 않은 버전
- SNAPSHOT이나, M*이 붙지 않은 버전이 정식 릴리즈된 버전
4) Project Metadata
Group
Artifact
Name
Description
Package name
(1) Group
- 프로젝트 그룹 또는 패키지를 나타냄
- 보통 회사 도메인 이름을 역순으로 사용함 (com.companyname)
(2) Artifact
- 프로젝트의 아티팩트 ID를 나타냄
- 아티팩트 ID는 Maven이나 Gradle 프로젝트의 고유식별자로 사용됨
- 보통 프로젝트의 이름이나 목적 등을 나타냄
(3) Name
- 프로젝트의 이름
(4) Description
- 프로젝트에 대한 간단한 설명이 포함됨
- 프로젝트의 목적이나 특징 등을 요약하여 제공함
(5) Package name
- 프로젝트의 기본 패키지 이름을 나타냄
5) Dependencies
- 프로젝트에 포함할 Spring 및 관련 기술의 모듈을 선택하는 데 사용됨
- 여러 가지 Spring 프로젝트 설정을 제공함
- 프로젝트에 필요한 다양한 라이브러리와 모듈을 포함함
- Spring Boot DevTools: 개발 시에 자동 재시작, 라이브 리로드 및 다른 개발자 도구를 지원하는 데 사용됨
- Spring Web: 웹 애플리케이션을 개발하기 위한 Spring MVC 및 Spring WebFlux와 같은 웹 프레임워크를 포함함
- Spring Data JPA: JPA(Java Persistence API)를 사용하여 데이터베이스와 상호 작용할 때 사용되는 스프링 데이터 모듈
- Spring Security: 인증, 권한 부여 및 보안 관련 작업을 수행하는 데 사용됨
- Spring Batch: 대규모 작업을 처리하기 위한 스프링 배치 프레임워크를 포함함
- Spring Cloud: 클라우드 네이티브 애플리케이션 개발을 위한 Spring 기반 마이크로서비스 프레임워크 및 라이브러리를 포함함
6) GENERATE
- 선택한 프로젝트 설정과 의존성에 기반하여 새로운 프로젝트를 생성하는 데 사용됨
- 필요한 파일 및 폴더 구조를 생성하여 압축도니 프로젝트 아카이브를 제공함
7) Thema
Light
Dark
참고
인프런 `스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술` 강의 (프로젝트 생성)
OpenAi. (2024) ChatGPT (version 3.5)[Large Language model]. https://chat.openai.com
300x250
'LEARN > NEED' 카테고리의 다른 글
[Git] git repository 에 디렉토리(폴더) 추가 (0) | 2024.04.18 |
---|---|
[Git] 깃 커밋 메시지 컨벤션 Commit Message Convention (0) | 2024.04.11 |
[Tomcat] 톰캣 9.0.83 버전 다운로드 (0) | 2024.03.12 |
[IntelliJ] 인텔리제이 깃 Git Branch 생성 및 Merge (0) | 2024.03.03 |
[kubernetes] minikube ip 접속 안 될 때 (0) | 2024.02.27 |