[Spring] Devtools - livereload

1930 단어 SpringSpring

IntelliJ를 기준으로 작성하겠습니다.

Devtools

기능
Spring Boot DevTools가 제공하는 기능은 크게 5가지입니다.

  • Property Defaults
    : thymeleaf 는 기본적으로 캐싱기능을 사용합니다. 개발과정에서는 불필요하므로 devtools에서 자동으로 기능을 꺼줍니다.
  • Automatic Restart
    : 개발과정 중 Application을 재시작하는 경우가 많은데 devtools에서 이 기능을 자동으로 제공해줍니다.
  • Live Reload
    : React 의 Hot Reload 기능을 아시면 정말 편한 기능입니다. devtools 에서 이 기능을 제공하지만 완전한 Hot Reload 는 아닙니다. 내부적으로 live reload 서버를 두고 브라우저의 확장 프로그램 LiveReload와 통신하는 방식을 가졌습니다.
  • Global Settings
    : Dev Properties 관리 기능 제공
  • Remote Applications
    : 원격 개발 지원

설정 방법

  • LiveReload 확장 프로그램을 브라우저에 설치합니다.

    LiveReload

  • developmentOnly 'org.springframework.boot:spring-boot-devtools'
    

    Dependecy 를 추가 해줍니다. 개발기능이므로 developmentOnly 로 추가해줍니다.

  • ctrl + shift + A Registry...로 이동하여

    compiler.automake.allow.when.app.running 을 체크합니다.

  • setting - compiler - Build project automatically 체크해줍니다.

  • 설정 후 LiveReload 기능이 동작하지 않는 경우

    우측 상단의 Edit configurations... 로 들어가
    On 'Update' 와 On frame deactivation 모두 Update resources 로 값을 변경해줍니다.

기본적으로 React의 Hot Reload 와는 다르게 상당히 느립니다. 장비의 성능에 따라서 적게는 1~2초 많게는 5초 이상 걸린다고 합니다. 하지만 Application의 볼륨이 커질 경우 Application 을 재시작하는 것보다는 유의미한 기능이 될 것으로 생각됩니다.

좋은 웹페이지 즐겨찾기