Spring
Spring Boot 스프링 부트 dev tools 개발 생산성 향상을 위한 개발 도구 설정, 애플리케이션 자동 재시작, 브라우저 자동 새로고침
JM_H
2023. 6. 4. 19:14
개발 생산성 향상을 위해 'devtools' 라이브러리를 사용할 수 있는데
그 중에서 개발 작업중 잦은 소스 코드 추가 및 수정이 있을 텐데, 유용한 기능이 있다.
spring.devtools.restart
서버 단(Java 소스 코드) 코드 변경 후 저장(추가, 수정 등) 시 애플리케이션을 자동으로 재시작 해줘 작업중에 애플리케이션을 수동으로 재시작하지 않아도 됨
spring.devtools.livereload
클라이언트 단 (HTML, CSS, JavaScript 등) 코드 변경 후 저장(추가, 수정 등) 시 브라우저를 자동으로 새로고참하여 변경 사항을 즉시 확인 할 수 있게 됨
개발관리도구, 빌드툴이 Maven 인 경우
pom.xml 파일의 <dependencies> 영역에 의존성 추가
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
개발관리도구, 빌드툴이 Gradle 인 경우
build.gradle 파일의 dependencies{} 블록에 의존성 추가
dependencies {
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
적용 방법은 설정 파일에 따라 각기 다른 형식으로 작성
설정 파일이 .properties 이면
# 자동 재시작 기능 활성화
spring.devtools.restart.enabled=true
# LiveReload 활성화
spring.devtools.livereload.enabled=true
설정 파일이 .yml 이면
# 자동 재시작 기능 활성화
spring:
devtools:
restart:
enabled: true
# LiveReload 활성화
spring:
devtools:
livereload:
enabled: true
livereload 는 브라우저 자동 새로고침을 위해
CDN 방식으로 클라이언트 단에 스크립트를 추가해야 함
<script src="http://localhost:8080/livereload.js"></script>
'http://localhost:8080' 는 예시이며 서버가 실행중인 주소를 입력