junior
Что такое Spring Boot DevTools?
Spring Boot DevTools – модуль для ускорения разработки за счёт автоматической перезагрузки приложения, отключения кэширования и удобных настроек по умолчанию.
Пример
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
Ключевые возможности
- Автоматический рестарт – при изменении файлов приложение перезапускается. DevTools использует два ClassLoader-а: один для неизменяемых зависимостей, другой для классов проекта. Перезагружается только второй
- LiveReload – автоматическое обновление страницы в браузере
- Отключение кэширования – шаблонизаторы работают без кэша
- Расширенное логирование
DevTools автоматически отключается при запуске в production (из JAR или при отсутствии на classpath). Атрибут optional=true гарантирует, что DevTools не попадёт в зависимости других модулей.
На собеседовании: достаточно знать назначение и принцип работы двух ClassLoader-ов. Частая ошибка – не упомянуть, что DevTools автоматически отключается в production.