스프링 부트에는 애플리케이션 개발을 보다 편리하게 할 수 있도록 도와줄 도구가 포함되어 있다. spring-boot-devtools
모듈은 빌드에 모듈 종속성을 추가하면 사용 가능하다.
spring-boot-devtools
에는 아래와 같은 기능을 포함하고 있다.
참고 링크 : https://docs.spring.io/spring-boot/docs/1.5.16.RELEASE/reference/html/using-boot-devtools.html
optional
을 지정할 경우 선택적 의존관계는 실제 운영 환경의 코드에는 추가되지 않는다.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
dependencies {
developmentOnly("org.springframework.boot:spring-boot-devtools")
}
스프링 부트 개발자 도구 모듈을 추가하고 코드 변경 시 재시작과 리로딩이 동작함을 확인할 수 있다.
재시작 유발 신호는 IDE마다 다를 수 있는데, 이클립스는 저장
명령이 재시작을 유발하고, IntelliJ는 Build Project
명령이 재시작을 유발한다.
애플리케이션을 개발 모드로 실행하면 아래와 같은 로그가 화면에 표시된다.
2021-12-19 20:52:07.080 INFO 18228 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
로그에 조회된 DevToolsPropertyDefaultsPostProcessor
클래스를 조회해보면 아래와 같이 기본으로 설정된 프로퍼티들을 확인할 수 있다.