반응형
1. spring-boot-devtools란?
- Spring Boot DevTools는 스프링 부트 개발을 더 쉽고 빠르게 도와주는 개발용 툴입니다.
- 주로 개발 환경에서만 사용하며, 프로덕션(운영) 환경에서는 사용하지 않습니다.
- 주된 기능은 자동 재시작, 라이브 리로드, 속성 캐시 비활성화 등입니다.
2. 왜 developmentOnly로 지정할까?
- developmentOnly는 개발환경에서만 해당 라이브러리가 적용되도록 하는 Gradle의 플러그인(구성 방식)입니다.
- 이 옵션을 사용하면, 빌드해서 배포할 때(jar, war 생성 시) 이 라이브러리가 포함되지 않습니다.
- 즉, 운영 환경에 DevTools가 포함되지 않도록 방지하는 것이죠.
3. 주요 기능
(1) 자동 재시작(Automatic Restart)
- 소스코드, 설정 파일이 변경되면 서버가 자동으로 재시작됩니다.
- 매번 서버를 껐다 켤 필요 없이 저장만 해도 변경이 반영됩니다.
(2) 라이브 리로드(LiveReload)
- HTML, JS, CSS 등 프론트 파일을 변경할 때 브라우저도 자동으로 새로고침 해줍니다.
- 별도 브라우저 플러그인 설치 시 더욱 편리하게 사용 가능.
(3) 캐시 비활성화 등
- 템플릿 엔진(Thymeleaf, Freemarker 등)의 캐시가 자동으로 꺼집니다.
- 그래서 화면 수정 시 새로고침만 해도 즉시 반영됩니다.
4. build.gradle에서의 작성 예시
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
// 개발 환경에서만 사용
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
5. 주의사항
- 운영 환경(Production)에는 절대 포함되지 않게 해야 합니다.
- developmentOnly로 지정하면, 개발용 서버에서는 동작하지만, 배포용 파일에는 포함되지 않습니다.
- IntelliJ, VSCode 등에서 사용할 때 자동 재시작 기능이 예상대로 작동하지 않을 수도 있는데, 이때는 설정을 확인해야 합니다.
6. 한 줄 요약
spring-boot-devtools는 개발 편의를 위해 제공되는 라이브러리이며, developmentOnly로 설정하면 운영 환경에는 포함되지 않고 개발 시에만 자동 재시작 등 다양한 편의 기능을 제공합니다.
'Spring > 개인 공부' 카테고리의 다른 글
[Spring Data JPA] JpaRepository 완전 정복 – 핵심 기능과 직접 SQL 쿼리 비교 (0) | 2025.07.02 |
---|---|
JDK 21을 설치하고 STS4(Spring Tool Suite 4)까지 설치해보자 (0) | 2025.06.30 |
게시판 해체 분석 100%!! 코드들의 설명과 동선 완벽하게 이해하기 (2) | 2025.06.26 |
STS3에서 로그인과 게시판 생성을 위한 요점 정리 (1) | 2025.06.24 |
Spring Framework에서 Service와 ServiceImpl 구조를 사용하는 이유는 무엇인가? (0) | 2025.06.24 |