2025. 11. 4. 09:37ㆍDev./Spring
API 구현 후 포스트맨에서 통신할 때 수정 사항이 발생하면 서버를 껐다 켜서 컴파일 시켜야했다. 수정사항이 얼마나 많은데 그때마다 서버 껐다 킬 수는 없으니 방법을 알아보다 핫 리로드 설정을 보게 되었다.
왜 서버를 껐다 켜야 수정사항이 반영되는 걸까?
java는 코드를 컴파일러가 기계어로 번역 후 실행하는 컴파일 언어다. 저장 즉시 실행되는 것이 아니라 컴파일 -> 클래스 로딩 -> 실행 순의 순서가 필요하다. 프로그램이 실행될때 CPU가 바로 기계어를 읽을 수 있어서 빠르지만 개발자가 코드 수정시 재컴파일 해야한다는 단점이 있다.
즉 자바의 특성을 이해하면 알 수 있다.
핫 리로드
서버를 껐다 켜지 않아도 코드 수정이 즉시 반영되게 하는 개발 환경 설정
장점
- 코드 저장 순간 인텔리제이가 자동 빌드, 변경된 부분만 스프링이 재로드
- 서버는 켜진 채로 수정사항 반영
- 포스트맨 요청시 바로바로 결과 반영
Spring Boot Devtools 공식문서 첨부
Developer Tools :: Spring Boot
Applications that use spring-boot-devtools automatically restart whenever files on the classpath change. This can be a useful feature when working in an IDE, as it gives a very fast feedback loop for code changes. By default, any entry on the classpath tha
docs.spring.io
설정 방법
1.build.gradle에 spring-boot-devtools 의존성 추가
dependencies {
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
⭐️ 의존성 추가는 ctrl+s로 반영안됨. 옆에 생성되는 코끼리 아이콘을 눌러야 Gradle이 의존성 목록을 읽고 프로젝트에 반영
2. 인텔리 제이 설정에서 자동 빌드 옵션 켜기
내 현재버전 인텔리제이에서는 컴파일러 설정해서 해줄 것이 없었다.
설정 -> 고급 설정 -> 컴파일러 검색 -> auto-make 옵션 활성화
이후 포스트맨에서 요청을 보내면 서버를 껐다 키지 않아도 다음과 같이 존재하지 않는 글입니다 에서 마구잡이로 입력한 메세지가 바로 반영이 된다.

'Dev. > Spring' 카테고리의 다른 글
| [Spring] JPA 영속성 컨텍스트 (0) | 2025.11.10 |
|---|---|
| [Spring] JPA N+1 문제 (0) | 2025.11.07 |
| [Spring] JPA 관계 설정(1:N/N:1) (0) | 2025.11.05 |
| [내배캠] 한달 회고 (0) | 2025.10.31 |