SpringBoot

스프링 부트 템플릿 엔진과 build.gradle 정리

노아입니다 2025. 3. 19. 14:41

1. 스프링 부트 템플릿 엔진이란?

스프링 부트에서는 HTML과 데이터를 동적으로 바인딩하기 위해 템플릿 엔진(Template Engine) 을 사용합니다. 즉, HTML 파일 내에서 동적인 데이터를 표현하고 렌더링할 수 있도록 도와주는 도구입니다.

1.1 주요 템플릿 엔진 종류

스프링 부트에서 주로 사용되는 템플릿 엔진은 다음과 같습니다:

  1. Thymeleaf (타임리프) - 가장 많이 사용되는 템플릿 엔진으로, HTML 문법을 그대로 사용할 수 있어 직관적이며, Spring과 잘 통합됨.
  2. Freemarker (프리마커) - 강력한 기능을 제공하며 확장성이 좋음.
  3. Mustache (머스타치) - 간결하고 가벼운 템플릿 엔진으로 서버와 클라이언트 간의 일관성을 유지하는 데 유용함.
  4. Groovy 템플릿 - 스크립트 기반의 템플릿 엔진으로, 유연한 문법을 제공함.

1.2 템플릿 엔진 설정 (Thymeleaf 예제)

스프링 부트에서 Thymeleaf를 사용하려면 spring-boot-starter-thymeleaf 의존성을 추가해야 합니다.

// build.gradle
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'

그리고 src/main/resources/templates 폴더에 .html 파일을 생성하여 사용하면 됩니다.

예제: src/main/resources/templates/index.html

기본 메시지

컨트롤러 코드:

@Controller
public class HomeController {
    @GetMapping("/")
    public String home(Model model) {
        model.addAttribute("message", "안녕하세요, 스프링 부트!");
        return "index"; // index.html 템플릿을 렌더링
    }
}

2. build.gradle 이란?

2.1 Gradle 개요

build.gradle Gradle 빌드 도구를 사용하는 프로젝트의 빌드 스크립트 파일입니다. 이 파일을 통해 프로젝트의 의존성을 관리하고, 컴파일 및 패키징 작업을 수행할 수 있습니다.

2.2 기본적인 build.gradle 구조

plugins {
    id 'org.springframework.boot' version '3.1.0'
    id 'io.spring.dependency-management' version '1.1.3'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}

2.3 주요 섹션 설명

  1. plugins: 프로젝트에 필요한 플러그인을 정의합니다.
    • org.springframework.boot → 스프링 부트 플러그인 추가
    • io.spring.dependency-management → 의존성 관리를 쉽게 해주는 플러그인
    • java → 자바 프로젝트로 설정
  2. group & version: 프로젝트의 그룹 ID와 버전 정보를 지정합니다.
  3. sourceCompatibility: 사용할 Java 버전을 설정합니다.
  4. repositories: 프로젝트에서 사용할 라이브러리를 다운로드할 저장소를 지정합니다 (보통 mavenCentral()사용).
  5. dependencies: 프로젝트에서 사용할 라이브러리를 선언합니다.
    • spring-boot-starter-web → 웹 애플리케이션 개발을 위한 기본 의존성
    • spring-boot-starter-thymeleaf → Thymeleaf 템플릿 엔진 사용을 위한 의존성
    • spring-boot-starter-test → 테스트 프레임워크 의존성
  6. tasks.named('test'): 테스트 실행 시 JUnit Platform을 사용하도록 설정합니다.

2.4 Gradle 명령어 예제

프로젝트를 빌드하고 실행하는 몇 가지 주요 Gradle 명령어는 다음과 같습니다:

# 의존성 다운로드
./gradlew build

# 애플리케이션 실행
./gradlew bootRun

# 테스트 실행
./gradlew test

3. 마무리

이번 포스팅에서는 스프링 부트 템플릿 엔진 build.gradle의 개념 및 사용법을 알아보았습니다. 스프링 부트 프로젝트를 설정할 때 템플릿 엔진을 선택하는 기준과, Gradle을 활용한 빌드 방법을 이해하는 것이 중요합니다.

스프링 부트를 처음 접하는 분들도 쉽게 따라 할 수 있도록 예제를 포함했으니, 직접 실행해보면서 익숙해지길 바랍니다!