Devtools๋?
spring boot์์ ๊ฐ๋ฐ ํธ์๋ฅผ ์ํด ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค.
๊ฐ๋ฐ์ค, ์ฝ๋ ์์ ์ ๋ธ๋ผ์ฐ์ ์์ ์์ ๋ ๋ด์ฉ์ ํ์ธํ๋ ค๋ฉด ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฌ์์ ํด์ผ ํ๋ค.ใ ใ

์น๋ฆฐ์ด์ธ ๋๋ ์ต๊ทผ์ ์ด ์ฌ์์ ๋ฒํผ์ ์ผ๋ง๋ ๋๋ ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค..
devtools๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ์ฌ์์ํด์ฃผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด ๊ฐ๋ฐ์ ํจ์ฌ ์์ํ๋ค.
Devtools ์ ์ฉ๋ฒ
1. build.gradle ํ์ผ์ ์์กด์ฑ ์ถ๊ฐ
implementation 'org.springframework.boot:spring-boot-devtools'
๐ฏ ๊ฟํ : ์์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐพ๋๊ณณ
- mvnrepository : ์ค์ ์๊ฒฉ ์ ์ฅ์
- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools
- ์ฌ๊ธฐ์ ์ฐพ๊ณ ์ํ๋ dependency๋ฅผ ๊ฒ์ํ๊ณ ์ฌ์ฉํ๋ ๋น๋ ๋๊ตฌ(maven, gradle)๋ฅผ ์ ํํ๋ฉด ์์กด์ฑ ์ฝ๋๋ฅผ ์ ๊ณตํด์ค๋ค. ์ด๊ฑธ ๊ทธ๋๋ก ๊ฐ๋ค์ฐ๋ฉด ๋จ

2. application.properties ํ์ผ ์ค์
#live reload ๊ธฐ๋ฅ ํ์ฑํ
spring.devtools.livereload.enabled=true
spring.thymeleaf.cache=false
๋ผ์ด๋ธ ๋ฆฌ๋ก๋ ๊ธฐ๋ฅ์ ์ผ๊ณ , cache ์ ์ฅ์ ๋๋ค.
- ๋ผ์ด๋ธ๋ฆฌ๋ก๋๋?
- ์คํ๋ง ๋ถํธ ์ฑ์ด ์คํ๋ ์ํ์์ ์ ์ ๋ฆฌ์์ค(html / css)์ ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์ํ ๊ฒฝ์ฐ, ์ฑ ์ฌ์คํ์ ํ์ง ์๊ณ ๋ ์ ๋ฐ์ดํธ๋ฅผ ํ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ค.
- ์บ์๋ฅผ ๋๋ ์ด์ ?
- ์์ฉ์์๋ ์ฑ๋ฅ ํฅ์์ ์ํด ์บ์๋ฅผ ์ฌ์ฉํ๋ค.(๋งค๋ฒ ์์ฒญ์ ์ฒ๋ฆฌํ ๋๋ง๋ค ๋ถํ์ํ๊ฒ ํ ํ๋ฆฟ ํ์ฑ์ ํ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ์ข๋ค.)
- ๊ทธ๋ฐ๋ฐ ํ ํ๋ฆฟ์ ์์ ์ด ์ฆ์ ๊ฐ๋ฐ ํ๊ฒฝ์์๋ ์บ์๊ฐ ์ผ์ ธ์์ผ๋ฉด ์์ ํ ์๋ก๊ณ ์นจ์ ํ๋๋ผ๋ ๋ด์ฉ์ด ๋ฐ๋์ง ์๋๋ค.
3. ํ๊ฒฝ์ค์ - ํ๋ก์ ํธ ์๋ ๋น๋ ์ฒดํฌ
- preferences > build, execution, Deployment > compiler์์ Build Project automatically์ ์ฒดํฌํด์ค๋ค

- ํ๊ฒฝ์ค์ - ์ดํ๋ฆฌ์ผ์ด์
์คํ์ค์๋ auto-make ํ์ฉ์ค์
preferences > Advanced Settings > auto ๊ฒ์์์ Allow auto-make to start even โฆ ์๋ฅผ ์ฒดํฌํด์ค๋ค.

4. configuration ์์ (์์ ์์ ์ ์๋์ผ๋ก classes๋ resource๋ฅผ ์ ๋ฐ์ดํธํ๊ฒ ํด์ฃผ๋ ์ค์ )
- modify options > On Update action > Update classes and resources ์ฒดํฌ

- modify options > On frame deactivation > Update classes and resources ์ฒดํฌ

๊ฒฐ๋ก
: ์ด๋ ๊ฒ ํ๋ฉด htmlํ์ผ ์์ ์ ๋ฐ๋ก ์คํ๋ง๋ถํธ๊ฐ ์ฌ์์๋๋ ๊ฒ์ ์ ์ ์๋ค!
๊ท๋ชจ๊ฐ ํฐ ํ๋ก์ ํธ์ธ ๊ฒฝ์ฐ์ ๋ถ๋ด์ด ๊ฐ ๊ฒ ๊ฐ์ง๋ง ์์ง์ ๋ฌด๋ฆฌ๊ฐ ์์ค์ ์๋๊ฒ ๊ฐ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ๊ฒ ๊ฐ๋ค.
์น ํ๋ก์ ํธ ์ฒ์ ํด๋ณด์๋ ๋ถ๋ค์๊ฒ ๋ง์ ๋์์ด ๋ ๊ฒ ๊ฐ์ ํฌ์คํ ํ๋ค.ใ ใ