스프링 부트가 제공하는 optional 한 tool
주로 캐쉬 기능을 꺼놓거나 자동 재구동 등의 기능을 제공한다
의존성 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
주요기능
- 캐시 설정을 개발 환경에 맞게 변경.(가장 기본적인 기능)
- 클래스패스에 있는 파일이 변경 될 때마다 자동으로 재시작
- 직접 껐다 켜는거 (cold starts)보다 빠른다. 왜?
- 릴로딩 보다는 느리다. (JRebel 같은건 아님)
- 리스타트 하고 싶지 않은 리소스는? spring.devtools.restart.exclude
- 리스타트 기능 끄려면? spring.devtools.restart.enabled = false
- 라이브 릴로드? 리스타트 했을 때 브라우저 자동 리프레시 하는 기능
- 브라우저 플러그인 설치해야 함.
- 라이브 릴로드 서버 끄려면? spring.devtools.liveload.enabled = false
- 글로벌 설정
- Dev-Tools 가 의존성 추가되어 있으면 아래의 설정이 1순위
- ~/.spring-boot-devtools.properties
- 리모트 애플리케이션(비추)
가끔 Reload가 실패하거나 껏다 자동으로 리로드하는 것을 선호하지 않아서 자주 쓰진 않을 것 같다.
원래 FrontEnd 쪽에서 많이 쓰는 기능이 Spring Boot에도 있기에 작성해 봄