โโโงโ (1) Inteli J ์ค์น โโงโโ
https://www.jetbrains.com/ko-kr/
์ธํ ๋ฆฌ์ ์ด ์ฌ์ดํธ ๋ค์ด๊ฐ๊ธฐ
- inteliJ Comunity ๋ฒ์ ์ ์คํ๋ ค STS๋ณด๋ค ์ง์ ์๋๋ ๊ธฐ๋ฅ์ด ๋ง์ต๋๋ค.
- ํ์ ์ด๋ฉ์ผ์ด ์๋ ๊ฒฝ์ฐ ultimate๋ฒ์ ์ ๋ฌด๋ฃ๋ก ์ธ ์ ์์ต๋๋ค.
zip ๋ฒ์ ๋ค์ด๋ก๋
bin ํด๋ ์์ idea64.exe ์คํํ๋ฉด ๋จ
โโโงโ (2) Spring Initializr ( ๊ตฌ์กฐ ์ก๊ธฐ )โโงโโ
https://start.spring.io/
์ธํ ๋ฆฌ์ ์ด comunity๋ฒ์ ์ ์คํ๋ง๋ถํธ ๋ผ๋ ๊ตฌ์กฐ๋ฅผ ์ก๋ ๋ฐฉ๋ฒ์ด ์๋ค. ๐ญ
Spring Initializr ์ ๋ค์ด๊ฐ์ ๊ธฐ๋ณธ ๋ผ๋๊ตฌ์กฐ๋ฅผ ์ก์์ฃผ๊ณ ์์ํ๋ค!
ํ๋ก์ ํธ metadata ๋ ๊ฐ์ ๋ค์ด๋ฐํด์ฃผ๊ณ / Dependencies ์๋ 4๊ฐ์ง๋ฅผ ์ถ๊ฐํด์ค๋ค.
- Spring Web: Spring MVC๋ฅผ ์ฌ์ฉํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ , ํนํ RESTful ์๋น์ค๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Apache Tomcat์ ๋ด์ฅ ์ปจํ ์ด๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Spring Boot DevTools: ๊ฐ๋ฐ ๋๊ตฌ๋ก, ๋น ๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์์, LiveReload, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ค์ํ ์ค์ ์ ์ ๊ณตํฉ๋๋ค.
- Lombok: Java ์ ๋ ธํ ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋๋ฅผ ์ค์ด๋ ๋ฐ ๋์์ ์ค๋๋ค. ์ด๋ฅผ ํตํด ์ฝ๋ ์์ฑ ์ ๋ฐ๋ณต์ ์ธ ์์ ์ ์ค์ด๊ณ , ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
- Thymeleaf: (๊ธฐ๋ณธํ๋ฉด์ด ์๊ธฐ๋๋ฌธ์ ์ถ๊ฐํด์ ํ๋ฉด์ ๋ณผ ์ ์๊ฒ ํ๋ค) ์๋ฒ ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง์ผ๋ก, ์น๊ณผ ๋ ๋ฆฝ ์คํํ ํ๊ฒฝ ๋ชจ๋์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. HTML์ ๋ธ๋ผ์ฐ์ ์์ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ํ๊ณ , ์ ์ ํ๋กํ ํ์ ์ผ๋ก๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
[ EXPLORE ] ์ ํ
[ DOWNLOAD ] ์ ํ
ZIP ํ์ผ์ด ์์ฑ๋๋๋ฐ ์์ถํด์ ๋ฅผ ํด์ค๋ค!
์ด์ ๊ธฐ๋ณธ ๋ผ๋๋ ์์ฑ์ด ๋์๊ณ ,
์ด ๊ตฌ์กฐ๋ฅผ ๋ฐํ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์ด์ด์ค ๊ฒ์ด๋ค.! ๐
โโโงโ (3) Spring Boot ํ๋ก์ ํธ ์ธํ โโงโโ
Inteli J. exe ํ์ผ์ ๋ฐ๋ก๊ฐ๊ธฐ๋ก
๋ฐํํ๋ฉด์ ๋นผ๋์ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๋ค ๐
๋จผ์ ํ์๋ [workspace119] ๋ผ๋ ์ํฌ์คํ์ด์ค๋ฅผ ๋ง๋ค๊ณ ๊ทธ ์์
์ด๋์ ๋ผ์ด์ ๋ก ๋ผ๋๋ฅผ ๋ง๋ค์ด ๋ [TestSpring] ์ ๋ฃ์ด์ฃผ์๋ค.
(์์ ๊ธฐ์ ํ ์ด๋์ ๋ผ์ด์ ์ธํ ๊ณผ๋ ๋ค์ด๋ฐ๋ง ๋ค๋ฅธ ํ์ผ์)
SpringTest
[File] > [Open] ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์ด์ด์ค๋ค.
์ฒซ ํ๋ฉด์ ์๋ฐ ๋๋์ด ๋๋ค.
โ [build.gradle] ํ์ผ์์ ๋ฒ์ ๋ค์ ์์ ํด์ค๋ค.
์ดํ [Gradle Reload]
โ File > Settings ์ ๋ค์ด๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ธํ ์ ํด์ค๊ฒ์ด๋ค ! (+ ๋ฆฌ๋ก๋๋ฅผ ์ํ ์ธํ ๋ ํจ๊ป)
dependencies {
//์๋ต...
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
์ฝ๋ ์์ ์ ์๋์ผ๋ก ์๋ฒ๋ฅผ ๋ฆฌ๋ก๋ ํด์ฃผ๋ ๊ธฐ๋ฅ !!
ํด๋น ์ฝ๋์ฒ๋ผ build.gradle ์ ์๋์ผ๋ก ์ถ๊ฐํ ์๋ ์์ง๋ง
์ด๋ฏธ ๋ผ๋์ก์๋ ๋ฏธ๋ฆฌ ์ถ๊ฐํด๋์ ์ด๋ฏธ ์๋ค !! ใ ใ
๊ทธ๋ฌ๋ฏ๋ก ์ฝ๋ ์์ฑ์ ํจ์คํ๊ณ ๋ฐ๋ก ์งํํด์ฃผ๋ฉด ๋๋ค.
์ด๋ ์์กด์ฑ์ ๋ฃ์ด์ฃผ๋ฉด ๊ผญ ๋ ๋ฆฌ๋ก๋๋ฅผ ์์ผ์ค์ผ ํ๋ค !!
(์์กด์ฑ ์ถ๊ฐ ๋ฐ ์ ๋ฐ์ดํธ๋ฅผ ์ํด์ !! )
file > settings
์ฌ๊ธฐ์๋ถํฐ๋ ์ผ๋จ ์ฒดํนํ๊ณ ๋ฐ๋ผํด์ฃผ๋ฉด ๋๋ค.
Advanced Settings > ์ฒดํฌ
Build~~~~ ์ด์ฐ๊ณ > Complier > ์ฒดํฌ
Build~~~~ ์ด์ฐ๊ณ > Gradle > ์ฌ์ง๊ณผ ๊ฐ์ด ์ธํ
โ ์ด๋ Gradle Projects ๊ฐ ์๋จ๋ ๊ฒฝ์ฐ !!
์ด๋ฐ์ ํ๋ Gradle ์ด๊ธฐ์ธํ ํ
Gradle reload ๊ฐ ์ ๋์๋์ง ํ์ธํ๊ฑฐ๋,
์ฌ์คํํด๋ณด๊ฑฐ๋ ํด์ผํ๋ค!!!
โ Gradle JVM ์ Project SDK ๊ฐ ์ ๋จ๋ ๊ฒฝ์ฐ ??
File > Project Structure ์ ๋ค์ด๊ฐ์ Project ์ sdk ๊ฐ ํ์ธํด์ค๋ค !
์ค๊ฐ ์ ๊ฒ !
์ธํ ํ๋ค๋ณด๋ฉด ์ด๋ฐ๋๋์ผ๋ก ์๋ก์ด ํด๋๋ค์ด ์์ฑ๋์ด์์ด์ผ ํ๋ค !!
Configurations ๋ฅผ
์ ๋ ฅํ๋ค๋ณด๋ฉด ์ ์์ ์ธ ๊ฒฝ์ฐ ์๋์์ฑ์ด ๋จ๊ฒ๋๋ค.
โ Debug Configurations ์ค๋ฅ, Module ์ธ์ ์๋จ ?? ํ์ผ ์ธ์ ์๋จ ??
๋ง์ฝ ์๋์์ฑ๋ ์๋จ๊ณ ๋นจ๊ฐ ๊ธ์๊ฐ ๋ฌ๋ค๋ฉด..? ํ์ผ ์ธ์์กฐ์ฐจ๋ ์๋๋ค ??ใ ใ !!??
์ด ๊ฒฝ์ฐ์๋ ๋ค์ํ ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค...
ํ์์ ๊ฒฝ์ฐ์๋ ์๋ฐฉ๋ฒ๋๋ก ์ฐจ๋ก์ฐจ๋กํ์ง ์์๋ค๊ฐ ์ค๋ฅ๊ฐ ๋ฌ์๊ณ , ์๋ง gradle ์ค๋ฅ๊ฐ ์ปธ์๋ ๊ฒ ๊ฐ๋ค.
(์์์ ์ธํ ํ๋ ) File > Settings > Gradle ์์ ์ ๋๋ก ์ฒ๋ฆฌ๋ง ํด์ค๋ค๋ฉด ์ค๋ฅ๋ ์ ๋๋ ๊ฒ ๊ฐ์ผ๋
์ฐจ๊ทผ์ฐจ๊ทผ ๋ค์ํด๋ณด๋ ๊ฑธ ์ถ์ฒํ๋ค !
(JDK ๋ ๋ฒ์ ์ ๋ง๊ฒ ์ ๊น๋ ค์๋์ง ํ์ธ ๋ฟ๋ง ์๋๋ผ ๋ฆฌ๋ก๋๊ฐ ์ ๋์๋์ง ๊ผญ ํ์ธ !)
๋ํ File > Project Structure ์ ๋ค์ด๊ฐ์ Module ์ด ์ ์ธํ ๋์ด์๋์ง ํ์ธํ๋๋ก!
์์ฑ ํ OK
src > main > resources > [application.properties]
์๋ฒํฌํธ ์ค์ ๊ณผ ๋ฆฌ๋ก๋, ๋ฆฌ์คํํธ ์ค์ ์ถ๊ฐํด์ค๋ค. !!
# ์๋ฒํฌํธ
server.port=8181
# ๋ฆฌ๋ก๋, ๋ฆฌ์คํ์ devtools๋ชจ๋์ด ๋ฆฌ๋ก๋ ์คํ
spring.devtools.livereload.enabled=true
spring.devtools.restart.enabled=true
โโโงโ (4) ์คํ๋๋์ง ์ฒดํฌํด๋ณผ๊น ? โโงโโ
์์ ๊ฐ์ด ํจํค์ง์ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํด์ค๋ค !
์์ ๊ฐ์ด ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํด์ค๋ค.
์๋จ์ ์คํ๋ฒํผ ํด๋ฆญ
localhost:8181 ์ ๋ค์ด๊ฐ์
Hello ๊ฐ ์ ๋์ค๋์ง ํ์ธํด์ฃผ๋ฉด ๋ !!
์ ์๋ํ๋ค ๐คค๐คคโญ
โ Whiltelabel Error Page ์ค๋ฅ ??
Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ์์ ์์ฒญํ URL์ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. >>
ํจํค์ง๋ช ์ ํ๋ ค์ ์ค๋ฅ๊ฐ ์๊ฒผ๋ค ..!! ํจํค์ง๋ช ๊ผญ ํ์ธํ๊ธฐ !!
Refactor > Rename
ํจํค์ง๋ช ๋ณ๊ฒฝํด์ฃผ๋ ์ ์๋ํจ !
+) ํ๋ฌ๊ทธ์ธ ์ค์น
File > Settings > Plugins > webcalm ๋ค์ด๋ก๋
- settings > plugin์ผ๋ก ๋ค์ด๊ฐ์ ํ์ํ ํ๋ฌ๊ทธ์ธ ์ค์น๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- (javascript, css, html) advice๊ธฐ๋ฅ์ ultimate๋ฒ์ ๋ง ์ง์๋ฉ๋๋ค.
- comuniy๋ webcalm์ ์ค์นํ์ธ์.