Spring Boot의 Devtools에는 classpath에 속해있는 파일들의 수정을 감지하고 자동으로 재시작해주는 기능이 포함되어 있다. 사용자가 만드는 클래스는 restart classloader로 읽어들이고, 이는 재시작이 완전히 껐다가 다시 키는 것보다 훨씬 빠르게 일어나도록 해준다.
재시작을 설정하는 방법은 두가지가 있다.
1. Spring Devtools의 디펜던시를 추가할 때 등록하는 방법
2. application.properties에서 설정하는 방법
Devtools의 디펜던시를 추가하면서 옵션을 추가해 자동 재시작을 등록할 수 있다.
maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- Restart를 원하지 않을 경우 false -->
</dependency>
디펜던시를 등록할 때, <optional>
태그를 true로 설정해주면 자동 재시작 설정이 된다.
application.properties에서 등록하는 방법은 다음과 같다.
application.properties
spring.devtools.restart.enabled = true
Intellij를 사용하는 경우, IDE 자체에서 추가설정을 해주어야 한다.
위 두가지 설정을 완료하면 Intellij에서 자동 재시작을 사용할 수 있다.