.gradle:Gradle 관련 파일과 캐시 정보를 저장하는 폴더입니다. 프로젝트 빌드 및 실행 시 필요한 Gradle 데이터가 포함되어 있습니다.
.idea:IntelliJ IDEA에서 프로젝트를 관리하는 설정 파일이 포함된 폴더입니다. 다른 개발자와 프로젝트를 공유할 때 필수적이지 않으며, 프로젝트를 여는 개발 환경에 따라 다를 수 있습니다.
build:프로젝트를 빌드할 때 생성되는 모든 결과물이 저장되는 폴더입니다. 컴파일된 클래스 파일, jar 파일, 리소스 파일 등이 이곳에 위치합니다. 실행 및 배포 시 자동으로 생성되므로 버전 관리에는 포함할 필요가 없습니다.
gradle:Gradle 래퍼(wrapper) 설정 파일이 들어 있는 폴더입니다. 프로젝트를 빌드할 때 필요한 Gradle 스크립트와 라이브러리 버전을 관리합니다.
out:IntelliJ IDEA에서 자동으로 생성하는 폴더로, 컴파일된 파일들이 저장됩니다. 이 폴더 역시 개발 과정에서만 필요한 것이며 버전 관리에서 제외할 수 있습니다.
.gitignore:Git 버전 관리에서 무시할 파일 및 폴더를 지정하는 파일입니다. 예를 들어, build 폴더와 같은 일시적 파일을 Git에 포함하지 않도록 설정할 수 있습니다.
build.gradle:프로젝트의 빌드 설정 파일입니다. 여기서 프로젝트에 필요한 라이브러리(의존성), 플러그인, 빌드 설정 등을 정의합니다.
gradlew / gradlew.bat:Gradle Wrapper 스크립트입니다. 시스템에 Gradle이 설치되어 있지 않아도 이 파일을 통해 프로젝트를 빌드할 수 있습니다. gradlew는 Unix 기반 시스템에서, gradlew.bat는 Windows에서 사용됩니다.
HELP.md:프로젝트의 설명이나 도움말을 제공하는 문서입니다. 프로젝트에 대한 간단한 정보나 실행 방법 등을 작성하는 데 사용됩니다.
settings.gradle:Gradle의 프로젝트 설정 파일로, 프로젝트의 이름을 지정하거나 다중 모듈 프로젝트의 경우 모듈을 정의할 때 사용됩니다.
src 디렉터리
src/main:애플리케이션의 메인 코드와 리소스 파일이 들어있는 디렉터리입니다.
generated: 컴파일 시 생성되는 소스 코드가 저장되는 곳입니다.
java: 실제 애플리케이션의 Java 소스 코드가 위치하는 폴더입니다. Spring Boot의 모든 비즈니스 로직, 서비스, 컨트롤러, 레포지토리 등의 코드를 작성합니다.
resources: 애플리케이션에서 사용하는 정적 파일과 설정 파일이 포함된 폴더입니다.
static: 정적 자원(css, js, 이미지 파일 등)을 저장하는 곳입니다. Spring Boot에서 정적 파일을 자동으로 제공하기 위해 사용하는 폴더입니다.
templates: Thymeleaf, Freemarker 같은 템플릿 엔진을 사용하여 동적 웹 페이지를 생성하는 데 사용되는 HTML 파일을 저장하는 곳입니다.
application.properties: 애플리케이션 설정 파일입니다. 데이터베이스 연결 정보, 서버 포트 설정, Spring 프로파일 설정 등 다양한 설정을 여기서 관리할 수 있습니다.
src/test:애플리케이션의 테스트 코드를 작성하는 곳입니다. 테스트를 통해 애플리케이션의 기능을 검증할 때 사용됩니다.
그 외
외부 라이브러리(External Libraries):프로젝트에서 사용하는 외부 라이브러리 및 의존성 목록이 표시됩니다. build.gradle 파일에 정의한 의존성들이 이곳에 나타납니다.
요약
필수 폴더 및 파일: src/main, build.gradle, settings.gradle
src/main 아래의 java 폴더에 소스 코드를 작성하고, resources 폴더의 application.properties에서 애플리케이션 설정을 관리합니다.
build와 같은 자동 생성되는 폴더는 실행 시마다 생성되므로 .gitignore에 추가해 버전 관리에서 제외할 수 있습니다.
out, .idea 등 개발 환경에서 생성되는 폴더들은 필수적이지 않으므로 버전 관리에서 제외할 수 있습니다.