Spring Boot 고급 기능 탐구 : with Java (2)

4. 고급 구성 속성 활용하기

  • 맞춤 설정: 맞춤형 구성 속성을 만드는 방법을 배웁니다.
  • 실용적인 팁: 타입 안전을 위한 @ConfigurationProperties 사용 방법을 알아봅니다.
  • 샘플 소스: Spring Boot 구성 속성

.Spring Boot DevTools 설정

DevTools 종속성 추가

먼저 프로젝트에 DevTools 종속성을 추가합니다. Maven을 사용하는 경우 pom.xml 파일을 다음과 같이 업데이트하세요.

1
2
3
4
5
6
7
8
9
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <!– … other dependencies … –>
</dependencies>
cs

 

Gradle의 경우 build.gradle에 다음을 추가하세요.

1
2
3
4
dependencies {
    runtimeOnly ‘org.springframework.boot:spring-boot-devtools’
    // … other dependencies …
}
cs

 

. 자동 재시작 활성화

Spring Boot DevTools는 자동으로 클래스 경로의 변경 사항을 감시하고 애플리케이션을 다시 시작합니다. 이 기능은 DevTools를 추가하면 기본적으로 활성화됩니다.

. LiveReload 통합

DevTools에는 템플릿이나 정적 리소스를 변경할 때 브라우저를 자동으로 새로 고치는 데 사용할 수 있는 LiveReload 서버가 포함되어 있습니다. 이를 활용하려면 LiveReload 브라우저 확장을 설치해야 합니다.

. 템플릿 캐시 비활성화

서버를 다시 시작하지 않고도 변경 사항이 반영되도록 하려면 개발 시 템플릿 캐싱을 비활성화하세요. Thymeleaf의 경우

application.properties에서 이 작업을 수행할 수 있습니다.

1
spring.thymeleaf.cache=false
cs

 

. 애플리케이션에서의 샘플 사용법

컨트롤러가 포함된 간단한 Spring Boot 애플리케이션이 있다고 가정해 보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.ui.Model;
@Controller
public class MyController {
    @GetMapping(“/”)
    public String index(Model model) {
        model.addAttribute(“message”“Hello Spring Boot DevTools!”);
        return “index”;
    }
}
cs

 

DevTools가 통합되어 있으면 인덱스 템플릿이나 MyController 클래스를 변경하면 자동으로 애플리케이션이 다시 시작되거나 브라우저가 새로 고쳐집니다(LiveReload가 활성화되고 통합된 경우).

. DevTools 기능 테스트

애플리케이션 실행: 평소처럼 Spring Boot 애플리케이션을 시작합니다.

변경: MyController에서 메시지 속성을 수정하거나 인덱스 템플릿을 업데이트합니다.

자동 다시 시작 관찰: 애플리케이션이 자동으로 다시 시작되어 변경 사항이 즉시 반영됩니다.

브라우저 자동 새로 고침: LiveReload가 활성화되면 브라우저도 변경 사항을 반영하도록 새로 고쳐야 합니다.

Spring Boot DevTools는 수동으로 다시 시작하고 새로 고칠 필요성을 줄여 개발자가 변경 사항을 즉시 확인할 수 있도록 하여 개발 프로세스 속도를 크게 향상시킵니다. 이 설정 가이드는 DevTools를 Spring Boot 프로젝트에 통합하는 빠른 방법을 제공합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다