Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 톰캣
- spring
- 디자인패턴 #싱글톤
- 외장톰캣
- tomcat
- autocomplete
- LiveTemplate
- Spring Framework
- Mockito #Reflection #Sigleton #Test #JUnit
Archives
- Today
- Total
자라선
15. devtools 본문
스프링 부트에서 제공하는 optional한 툴
프로젝트의 캐시 설정을 개발환경에 맞춰 변경할 수 있는 의존성 라이브러리
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
의존성을 정의하면 아래 링크에 나오는 프로퍼티 설정이 적용되며 이러한 spring-boot-devtools.properties 는 최우선 적용되는 설정이다.
Auto Reload
프로젝트 빌드 후 톰캣 서버를 올리고 코드 수정이 일어날경우 이를 반영하기 위해서는 서버를 재시작해주어야 한다. 하지만 의존성을 정의한다면 이를 자동 재시작을 하여 바로 코드가 반영된다.
코드 수정 후 [ build/build project] 로 빌드 한다면 자동 재시작 된다.
devtools 와 JRebel 라이브러리는 비슷한것 같지만 내부적으로 서로 다른 성능을 가지고 있으며 실질적으로 devtools가 더 빠르게 재시작 된며 그 이유는
devtools는 2개의 classloader를 가지고 있으며 첫 프로젝트 시작시 base Classloader에 로드 되며 코드 변경시 빌드 한다면 restart Classloader에 로드되며 또 다시 코드가 수정된다면 restart Classloader는 삭제되고 새로운 Classloader가 생성되어 로드를 한다.
서버가 리로드시 브라우저 또한 자동 새로고침 하게 해줄 수 있는데 이경우 Live Reload Plugin를 브라우저에서 설치 해주어야 한다.
'Develop > Spring Boot' 카테고리의 다른 글
18. webJars (0) | 2020.07.27 |
---|---|
16. Spring MVC (0) | 2020.07.27 |
14. Test (0) | 2020.07.27 |
13. Logging (0) | 2020.07.27 |
12. Profile (0) | 2020.07.27 |
Comments