관리 메뉴

제뉴어리의 모든것

Spring Boot Devtools 알아보기 본문

Spring Boot

Spring Boot Devtools 알아보기

제뉴어리맨 2021. 4. 7. 01:57

Spring Boot 프로젝트를 만들때 그냥 기본적으로 넣고 보는 의존성인

Spring Boot Devtools 에 대해 알아보자.

 

일단 Spring Boot Devtools는 어떤 의미의 의존성인가?

스프링 부트 어플리케이션 개발 환경을 좀 더 쾌적하게 만들어 주는 추가개발도구 모음이라고 할 수 있다.

 

 

크게 5가지가 있다.

  • Property Defaults
  • Automatic Restart
  • Live Reload
  • Global Settings
  • Remote Applications

 

1. Property Defaults란?

thymeleaf, Freemarker, Groovy Templates, Velocity, Mustache 등 다양한 템플릿에 대한 개발 캐싱을 모두 자동 비활성화 처리함.
예를들어, Thymeleaf 템플릿 엔진은 파일을 반복적으로 읽는것을 피하기 위하여 컴파일된 템플릿을 캐시한다.

또한 SpringMVC는 정적리소스를 서비스할때 response에 대한 HTTP 캐시 헤더를 추가할 수 있다.

이러한 캐시는 실제 서비스 상화에서는 유용하지만 (이미 보았던 똑같은 페이지를 서버로 또 요청할 필요가 없음)

개발 상황에서는 불편 혹은 불필요까지 할 수 있다. 왜냐하면 개발하며 변경된 페이지를 수시로 봐야하기 때문이다.

이런한 이유때문에 캐싱처리를 비활성화 해준다. 원래 이러한 설정은 application.properties에서 설정해야 하지만 

Spring Boot Devtools 추가시 자동으로 해준다.

 

2. Automatic restart란?

어떠한 classpath 파일이 변경되면 자동으로 응용 프로그램이 다시 시작됩니다.

3. Live Reload

 

  • LiveReload는 소스에 변화가 있을 때 application이 자동으로 브라우저 새로 고침을 트리거 할 수 있게 해주는 프로토콜입니다.
  • livereload.com에서 Chrome, Firefox, Safari용 플러그인을 설치하여 사용할 수 있습니다.(npm의 hot-reload-server처럼 새로고침없이 바로 갱신됩니다.)

 

4. Global Settings

$ HOME 폴더에 .spring-boot-devtools.properties라는 파일을 추가하여 전역 devtools 설정을 구성 할 수 있습니다 (파일 이름은 "."로 시작 함). 이 파일에 추가 된 모든 속성은 devtools를 사용하는 머신의 모든 Spring Boot 애플리케이션에 적용됩니다

5. Remote Applications

리모트 모드로 SpringBoot 프로젝트를 돌릴 수 있게 해주는 기능.

 

출처 : 

Spring Boot Devtools 알아보기 (velog.io)

 

Spring Boot Devtools 알아보기

Spring Devtools에 대해 알아보았습니다.

velog.io

SpringBoot <br> (Developer tools) (hojonglee.github.io)

 

SpringBoot
(Developer tools)

Written by 이호종 on 2017-08-01 SpringBoot (Developer tools) 스프링 부트는 좀 더 쾌적한 어플리케이션 개발 경험을 만들어줄 수 있는 추가 개발도구 모음을 포함한다. spring-boot-devtools 모듈은 프로젝트에

hojonglee.github.io

https://haviyj.tistory.com/11 [What do you want?]

20. Developer Tools (spring.io)