스프링 폴더 구조

캡처.PNG

스프링 구조는 기본적으로 main과 test가 있다.

main → Java, resources

test → Java → hello.hello_spring → HelloSpringApplication

build.gradle(중요)

plugins { // gradle에서 플러그인을 설정하는 부분
	id 'java'
	// gradle에서 Java 프로젝트를 설정하는 기본플러그인
	// Java 소스 코드 컴파일
	// JAR 파일 생성
	// 테스트 실행
	// Java 기반 프로젝트라면 필수
	id 'org.springframework.boot' version '3.4.3'
	// Spring Boot 프로젝트를 위한 Gradle 플러그인
	// bootRun 명령어로 스프링 부트 애플리케이션 실행 가능
	// bootJar로 실행 가능한 JAR 파일 생성
	// 자동으로 의존성 추가 및 관리
	// Spring Boot 프로젝트라면 꼭 필요
	id 'io.spring.dependency-management' version '1.1.7'
	// Spring Boot의 의존성 관리를 도와주는 플러그인
	// Spring Boot BOM(Bill of Materials) 적용
	// 자동으로 Spring 관련 라이브러리 버전을 맞춰 줌
	// 별도로 version을 지정하지 않아도 최신 버전 자동 설정
	// Spring Boot 프로젝트에서는 필수
} 

group = 'hello'
version = '0.0.1-SNAPSHOT'

java {
	toolchain {
		languageVersion = JavaLanguageVersion.of(21)
	}
} 
// Java 버전을 확인해주는 구간 (21) = JDK21 이라는 뜻

repositories {
	mavenCentral()
} 
// mavenCentral Repository를 사용하겠다는 설정
// 전 세계에서 가장 큰 오픈소스 Java 라이브러리 저장소로
// Gradle이나 Maven을 사용할 때 기본적으로 많이 사용되는 저장소

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
} 
// 의존성을 설정하는 부분 각 의존성은 
// 프로젝트에서 라이브러리를 포함시키는 역할

tasks.named('test') {
	// Gradle에서 test라는 이름의 작업을 찾는 부분
	// test 작업은 기본적으로 JUnit 테스트를 실행하는 작업
	// tasks.name('test')는 Gradle에게 test 작업을 찾아서 그 작업을 설정하라고 지시
	useJUnitPlatform()
	// JUnit 5는 JUnit Platform을 사용해서 테스트를 실행
	// useJUnitPlatform()은 Gradle에게 JUnit Platform을 사용하여 테스트를 실행하도록 지시
	// JUnit 5는 이전 버전과 호환되지 않기 때문에, JUnit 5를 사용하려면
	// useJUnitPlatform()을 명시적으로 설정해줘야 함
} 
// Gradle에서 테스트 작업을 설정하는 부분 
// JUnit 5로 테스트를 실행하도록 설정하는 부분

@SpringBootApplication

package hello.hello_spring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloSpringApplication {

	public static void main(String[] args) {
		SpringApplication.run(HelloSpringApplication.class, args);
	}

}

빌드 시 gradle을 통해서 실행

설정 → gradle 검색 후 → gradle에 들어가서 → build and run, run and using 이 두개를 intelliJ IDEA로 바꿔줘야 GRADLE을 통해서 실행하면 느릴 때가 있는데 위 설정을 인텔리제이로 바로 실행해서 더 빠르게 실행 가능