[ Spring Boot ] 인텔리제이에서 DevTools 사용하기

도즈·2025년 3월 16일

spring

목록 보기
7/12

📘 DevTools란 ?

프로그램 개발시에, 코드 변경이 발생하게 되면 서버를 직접 다시 끄고 실행해야 하는 경우가 있다. 이러한 번거러움(불편)을 해결하기 위해서 파일 변경 시에 자동으로 프로그램을 재시작 해주는 DevTools가 개발됐다.

  • DevTools 사용을 위해서는 build.gradle에 아래코드를 사용하여 의존성을 추가 하면된다.
developmentOnly 'org.springframework.boot:spring-boot-devtools'


⚒️ DevTools 사용을 위한 추가적인 인텔리제이 설정

  • 인텔리제이에서, DevTools가 작동하지 않는다면 아래 두가지 설정을 추가해야한다.
  1. Adnveced Setting : Allow auto-name to start even if the developed application is currently running
  2. Compiler : Build Project Automatically

1️⃣ Advanced Setting : Allow auto-name to start even if the developed application is currently running

  • 역할
    • 이 설정은 애플리케이션이 이미 실행 중 이어도 Spring Boot DevTools가 자동으로 애플리케이션을 다시 시작하도록 허용해준다.
    • 인텔리제이는 실행중인 애플리케이션이 있다면 새로 실행, 재시작을 방지해 주기 때문에, 이 설정을 허용해주어야 DevTools가 동작할 수 있다.
    • 이 설정이 비활성화되어 있다면 코드 변경이 있어도 DevTools가 제대로 작동하지 않을 가능성이 있다.

2️⃣ Compiler : Build Project Automatically

  • 역할
    • 이 설정은 IntelliJ에서 코드 변경 시 자동으로 빌드하도록 설정한다. (= 변경된 코드 감지 후 자동 빌드)
    • DevTools는 파일이 변경되었을때(=빌드가 새로 이루어졌을때) 이를 감지해서 애플리케이션을 다시 시작한다.
    • 만약 이 설정(=자동빌드) 가 꺼져있다면, Devtools는 파일 변경을 감지하지 못할 수 있다.

📖 그럼 Build Project Automatically만 사용해도 되는거 아닌가 ?

  • ㄴㄴ 안된다. 역할이 다름
  • Build Project Automatically는 변경사항을 감지하고, 빌드 해준다. But 재시작은 못한다.
  • DevTools는 빌드된 변경사항을 감지하고 애플리케이션을 재시작한다.  

📎 빌드란 ? 

  • 코드를 실행 가능한 바이너리 파일(예: .jar, .war, .exe)로 변환하는 과정
profile
도즈의 개발이야기

0개의 댓글