오늘은 스프링에서 view 환경설정 중 알게 된 spring-boot-devtools 모듈을 소개하고자 한다.
이전에 FastAPI로 간단한 웹 페이지를 구현해 본 적 있는데 FastAPI에서는 uvicorn이라는 ASGI 서버를 사용해 --reload 옵션으로 소스 코드 변경을 감지하고 자동으로 서버를 재시작하는 기능이 있었다. 이것을 핫 리로드라고 하는 것 같다.
Spring Boot에서는 핫 리로드 기능을 위해 spring-boot-devtools 라이브러리를 제공하고, 이 라이브러리를 추가하면 html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다.
Devtools 는 아래 5가지 기능을 제공한다고 한다.
- Property Defaults
- Automatic Restart
- Live Reload
- Global Settings
- Remote Applications
쉽게 말하면, 소스 코드 변경 시 어플리케이션을 자동으로 재시작하여 브라우저에 업데이트를 해준다는 의미이다.
Devtools 설정 방법
1. Dependency에 Devtools를 추가
(Gradle 사용시)
2. Settings -> Advanced Settings 설정
인텔리제이 설정으로 들어가고 고급 설정에서 빨간 박스안의 체크박스를 체크해주면 된다.
3. Settings -> Build, Execution, Deployment -> Compiler 설정
인텔리제이 설정으로 들어가고 빌드, 실행, 배포 설정에 가서 컴파일러로 간다. 여기서 빨간 박스안의 프로젝트 자동 빌드를 체크해준다.
마지막으로 해당 프로젝트를 재시작 해주면 html 파일 변경과 같은 수정 사항이 웹 브라우저에 바로 반영이 된다.
'Spring' 카테고리의 다른 글
[Spring] BeanFactory와 ApplicationContext(스프링 컨테이너) (1) | 2024.07.20 |
---|---|
[Spring] SpringBoot 와 React 연동하고 빌드하기 (1) | 2024.07.07 |
[Spring] Dependency Injection (의존성 주입) 이란? (0) | 2024.07.07 |
[Spring] 스프링 빈(Bean) 의 개념 (0) | 2024.07.02 |