반응형
해당 글은 Spring Boot의 spring-boot-devtools에 대해 이해하고 Automatic Restart, Live Reload의 기능 사용방법에 대해서 공유 목적으로 작성한 글입니다.
1) spring-boot-devtools
💡 spring-boot-devtools
- Spring Boot Application을 개발하고 디버깅을 하는데 도움이 되는 도구 모음을 의미합니다.
- 개발 단계에서 자동으로 다시 로드되는 기능을 제공하여 개발자가 변경 사항을 신속하게 확인할 수 있도록 도움을 줍니다. 또한 라이브 리로딩, 프로퍼티 변경 감지 및 자동 재시작과 같은 기능도 제공합니다
💡 오픈소스 빌드 자동화 툴(Gradle 혹은 Maven) 내에 라이브러리를 추가합니다.
# Gradle
dependencies {
compileOnly("org.springframework.boot:spring-boot-devtools")
}
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>2.7.4</version>
</dependency>
💡 참고 사항
- 해당 라이브러리의 기능 중 Automatic Restart, Live Reload에 대해서만 정의하였습니다.
- 추가적으로 궁금하시다면 아래에 공식 사이트를 참고하시면 될 것 같습니다.
2) Automatic Restart
💡 서버의 내용을 수정하면 재 기동해야 하는 문제에 대해서 자동으로 서버를 재 기동을 하도록 도와주는 기능을 수행합니다.
💡 해당 기능의 대상은 클래스 경로의 파일들이 해당이 됩니다.
1. application.properties 파일 내에 설정
💡 해당 옵션에 대한 설명
- spring.devtools.restart.enabled # Automatic Restart 사용 여부
- spring.devtools.restart.additional-exclude # Automatic Restart 내에서 제외할 파일 경로
spring:
devtools:
# Auto Restart
restart:
enabled: true
additional-exclude: static/**,public/**
# OR
spring.devtools.restart.enabled = true
spring.devtools.restart.additional-exclude = static/**,public/**
2. 환경 설정
1. IntelliJ - Preferencs… 를 누릅니다
2. 컴파일러 - ‘프로젝트 자동 빌드’ 체크 - ‘확인’ 버튼을 누릅니다
1. IntelliJ - Preferencs… 를 누릅니다
2. 고급설정 - ‘개발된 애플리케이션이 현재 실행 중인 경우에도 auto-make가 시작되도록 허용' 체크 - ‘확인’ 버튼을 누릅니다
3) Live Reload
💡 Spring Boot 내에 리소스가 변경될 때마다 '새로 고침'을 트리거하는 LiveReload 서버가 포함되어 있어서 즉시 변경을 해준다. 해당 기능의 대상은 리소스 경로의 파일들이 해당이 됩니다.
1. application.properties 파일 내에 설정
💡 해당 옵션에 대한 설명
- spring.livereload.enabled # true는 사용 여부를 결정짓는다.
spring:
devtools:
# Live Reload
livereload:
enabled: true
# or
spring.devtools.livereload.enabled = true
2. 환경 설정
1. Application - 구성 편집… 버튼을 누릅니다.
2. 옵션 수정 버튼을 누릅니다.
3. 서버 옵션 추가 - ‘Update’ 작업 시, 프레임 비활성화 시 버튼을 누르고 ‘리소스 업데이트’로 변경합니다.
4. [완료] 클래스 경로의 파일이나 리소스 경로의 파일들을 변경 할때 마다 서버가 재기동되거나 html이 변경됨을 확인할 수 있습니다.
오늘도 감사합니다😀
반응형
'Java > Spring Boot' 카테고리의 다른 글
[Java/Library] Slf4j - Log4j2 이해하고 설정하기 (2) | 2022.10.21 |
---|---|
[Java/Library] HikariCP 이해하고 적용하기 (with. MyBatis) (0) | 2022.10.20 |
[Java/Library] Spring Boot 2.x 환경에서 Swagger 이해하고 적용하기 : SpringDoc openAPI UI (2) | 2022.10.18 |
[Java/Library] Lombok 이해하고 적용하기 -1 : 설정 및 기초 (0) | 2022.10.18 |
[JAVA] Spring Boot내에서 MyBatis & PostgreSQL 연동하기 (0) | 2022.10.04 |