스프링부트가 제공하는 Optional한 Tool
pom.xml 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
https://docs.spring.io/spring-boot/docs/1.5.16.RELEASE/reference/html/using-boot-devtools.html
주로 캐시를 끄는것과 관련있다.
개발 시 캐시가 켜있으면 개발한 내용이 바로바로 변하지않아 브라우저에 캐시를 비워야하는 불편함이 따르기 때문이다.
Automatic restart
코드를 변경하였을때 바로 바로 restart 해준다.
이때 restart 시키는 속도가 tomcat을 재기동하는 속도보다 빠르다.
왜일까?
스프링부트는 클래스로더를 두가지를 사용한다.
- base classloader - 라이브러리 즉 의존성을 읽어들이는 클래스 로더
- restart classloader - 애플리케이션을 읽어들이는 클래스 로더
어플리케이션이 재기동될때 기존의 restart classloader는 버리고 새로운 클래스로더를 만든다.
이게 가능한 것은 baser classloader를 구분하였기때문에 restart classloader를 쉽게 갈아치울수 있는 것이다.
'Spring > Spring Boot' 카테고리의 다른 글
(SpringBoot) Spring Mvc(2) - HttpMessageConverters (0) | 2020.01.10 |
---|---|
(SpringBoot) Spring Mvc(1) (0) | 2020.01.10 |
(SpringBoot) 테스트 (0) | 2020.01.05 |
(SpringBoot) logging(2) - 커스터마이징 (0) | 2020.01.05 |
(SpringBoot) Logging (0) | 2020.01.05 |