: 애플리케이션 개발 시 유용한 기능들을 제공하는 모듈 <----- 개발 생산성 향상
<!--spring-boot-devtools를 위한 의존성 주입-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
classpath에 있는 파일이 변경될 때마다 애플리케이션을 자동으로 재시작
개발자가 소스 수정 후 애플리케이션을 재실행하는 과정을 줄일 수 있어 생산성 향상
정적 자원(html,css,js) 수정 시 새로 고침 없이 바로 적용할 수 있다
Thymeleaf는 기본적으로 성능을 향상시키기 위해서 캐싱 기능을 사용한다.
하지만 개발하는 과정에서 캐싱 기능을 사용한다면
수정한 소스가 제대로 반영되지 않을 수 있기 때문에 cache의 기본값을 false로 설정
shift를 두번 눌러준 뒤, registry 검색
Registry.. 클릭
compiler.automake.allow.when.app.running을 체크 해줘야하는데....
없다
2021.2 버전부터 Registry가 아니라 Advacned Settings에서 설정한다고 한다
IntelliJ IDEA > Settings > Build, Execution, Deployment > Compiler
Build project automatically 체크
IntelliJ IDEA > Settings > Advanced Settings
Allow auto-make to start even if developed application is currently running 체크
application.properties에 추가하기
#Live Reload 기능 활성화
spring.devtools.livereload.enabled=true
LiveReload 확장프로그램 추가하기
확장 프로그램 관리에 들어가서
사이트 액세스 : 모든 사이트에서
설정되어있는지 확인
localhost로 접속한 뒤, LiveReload 버튼을 눌러줘야 활성화가 된다.
아래 이미지의 왼쪽은 크롬의 LiveReload 활성화 전이고, 오른쪽은 LiveReload 활성화 중이다.
차이가 별로 없다. 나는 처음에 다크모드에서 확인을 했어서, 이게 켜졌나 꺼졌나 의아했다.
아래의 이미지의 왼쪽은 파이어폭스의 LiveReload 활성화 전이고, 오른쪽은 LiveReload 활성화 중이다.
확실하게 차이가 난다.
VSCode Live Server처럼 빠르게 적용이 될 줄 알았지만,
대략 5초 정도의 딜레이가 있다.
Thymeleaf의 캐싱 기능을 false로 설정한다.
실제 적용 시
운영 환경과 개발 환경의 application.properties 분리 후,
운영 환경에서는 캐싱 기능 사용
개발 환경에서는 캐싱 기능 꺼서 관리
application.properties에 추가하기
#Thymeleaf cache 사용 중지
spring.thymeleaf,cache = false
참고 : https://velog.io/@jodawooooon/IntelliJ-%EC%9E%90%EB%8F%99-%EB%B9%8C%EB%93%9C-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95-Registry%EC%97%90-compiler.automake.allow.when.app.running%EC%9D%B4-%EC%97%86%EB%8A%94-%EA%B2%BD%EC%9A%B0
참고 : https://m.blog.naver.com/spring1a/221757269099