안녕하세요.
고코더 입니다.
스프링부트 프로젝트를 시작할 때 가장 많이 사용하는 스타트 프레임워크를 하나 뽑으라 하면, "Spring Boot DevTools"가 아닐까 생각합니다. Spring boot 프로젝트를 개발하기 위한 편의를 위한 제공하는 모듈입니다. 말 그대로 편의를 제공하므로, 개발자를 위한 필요한 기능들을 제공합니다. 대표적인 기능을 살펴봅니다.
Property Defaults
Spring Boot에서 지원하는 라이브러리를 캐시를 사용하여 성능을 향상합니다. 대표적인 예시는 바로 템플릿 엔진입니다. 이 파일이 반복적으로 구문 분석하지 않도록 템플릿을 컴파일하여 캐시 합니다. Spring MVC는 정적 리소스를 제공할 때 응답에 HTTP 캐싱 헤더를 추가할 수 있습니다.
캐싱은 개발 중에는 변경된 파일을 바로 확인할 수 없어 역효과를 낼 수 있었기 때문에 기본적으로 캐싱 옵션을 비활성화해놓았습니다. Application cache 설정값을 false로 변경을 해야 이 기능을 맛볼 수 있습니다.
Automatic Restart
이 기능을 사용하면 저장할 때마다 프로젝트를 다시 시작합니다. 즉각적으로 서버가 재시작하므로 빠르게 디버깅이 가능합니다. 이 방법은 코드 변경에 대한 매우 빠른 피드백 확인할 수 있습니다. 그리고 특정 디렉터리만을 트리거로 설정하여서 재시작할 수 있습니다. 기존 IDE에서 제공하는 자동 재시작 기능과 유사합니다. 그리고 LiveReload라는 크롬 확장 프로그램과 함께 하면 좀 더 빠르게 디버깅이 가능합니다.
Global Settings
spring-boot-devtools.properties
spring-boot-devtools.yaml
spring-boot-devtools.yml
다음 파일 중 하나를 $HOME/.config/spring-boot디렉토리 에 추가하여 전역 devtools 설정을 구성할 수 있습니다.
Remote Applications
Spring Boot DevTools을 사용하면 원격으로 개발이 가능합니다. 즉 로컬 개발에만 국한되지 않습니다. 응용 프로그램을 원격으로 실행할 때 여러 기능을 사용할 수도 있습니다. 하지만 원격 지원은 보안 위험이 될 수 있으므로 신뢰 가능한 네트워크 혹은 SSL에서만 사용하도록 선택해야 합니다. 좋은 옵션이긴 하지만 여러 문제의 소지가 있어서 실무에서는 선호되지 않는 방식입니다. 이 방식보다는 사무실 컴퓨터를 원격으로 조정해서 개발하는걸 더욱 추천합니다.
* 참조 문헌
https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.devtools
'IT_Developers > JAVA' 카테고리의 다른 글
Eclipse - 이클립스에 groovy 설치 하기 (0) | 2021.12.14 |
---|---|
Spring Boot DevTools 설치,추가 방법 (0) | 2021.12.07 |
JAVA - WAR vs JAR 의 차이점은? (0) | 2021.12.02 |
STS4 - 이클립스에서 "Select a Wizard"에 JSP 검색이 안된다면? (0) | 2021.11.30 |
Spring Boot - 스프링부트에서 webapp , WEB-INF, views 폴더는 직접 만들어야 합니다. (1) | 2021.11.30 |
댓글