ํ๋ก์ ํธ ์์ฑ
๋๋ถ๋ถ Gradle ํ๋ก์ ํธ๋ฅผ ์ฐ๊ธฐ์ Gradle ์ ํ
๐ฅ Maven๊ณผ Gradle์ ์ฐจ์ด
Maven: ๋ด๊ฐ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฟ๋ง ์๋๋ผ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ํ๋๋ฐ ํ์ํ ๋ค๋ฅธ
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค๊น์ง ๊ด๋ฆฌํ์ฌ ๋คํธ์ํฌ๋ฅผ ํตํด ์๋์ผ๋ก ๋ค์ด ๋ฐ์์ค.
ํ๋ก์ ํธ์ ์ ์ฒด์ ์ธ ๋ผ์ดํ ์ฌ์ดํด ๊ด๋ฆฌํ๋ ๋๊ตฌ
(* ๋ผ์ดํ ์ฌ์ดํด : ๋ฏธ๋ฆฌ ์ ์ํ๊ณ ์๋ ๋น๋ ์์๊ฐ ์์ผ๋ฉฐ ์ด ์์๋ฅผ ๋ผ์ดํ ์ฌ์ดํด ์ด๋ผ๊ณ ํจ)
Gradle : ๋น๋, ํ๋ก์ ํธ ๊ตฌ์ฑ/๊ด๋ฆฌ, ํ ์คํธ, ๋ฐฐํฌ ๋๊ตฌ์ด๋ฉฐ ์๋๋ก์ด๋ ์ฑ์ ๊ณต์ ๋น๋ ์์คํ ์ด๋ค.
๋น๋ ์๋๊ฐ Maven์ ๋นํด 10~100๋ฐฐ ๊ฐ๋ ๋น ๋ฅด๋ค. ๋ฒ์ ์ค์ ํ๊ณ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ก๊ฒจ์จ๋ค๋ ๊ฒ ์ ๋๋ง ์์๋ ๋๋ค.(์ด์ฌ์์ ์์น์์๋)
https://dev-coco.tistory.com/65
๋ฉ์ด๋ธ(Maven)๊ณผ ๊ทธ๋๋ค(Gradle)์ ๊ฐ๋ ๋ฐ ๋น๊ต
์คํ๋ง๊ณผ ์คํ๋ง๋ถํธ๋ฅผ ๊ณต๋ถ ํ๋ ค๋ ์ค maven๊ณผ gradle์ ์๊ฒ๋์์ต๋๋ค. maven๊ณผ gradle์ด ๋น๋๊ด๋ฆฌ๋๊ตฌ์ธ ๊ฒ์ ์๊ณ ์์ง๋ง ์์ธํ ๊ฐ๋ ์ ๋ชจ๋ฅด๊ธฐ์ maven๊ณผ gradle ๊ฐ๊ฐ์ ๊ฐ๋ ๊ณผ ์ ํํ ์ฐจ์ด์ ์ ์
dev-coco.tistory.com
https://hyojun123.github.io/2019/04/18/gradleAndMaven/
Maven๊ณผ Gradle์ ์ฐจ์ด
Maven vs Gradle ์ฐ์ ๋์ ์ฐจ์ด๋ฅผ ์๊ธฐ์ํด ๊ฐ๊ฐ ์์๋ณด์๋ค. Maven๊ฐ์๊ฒฝ์ฐ๋ ์คํ๋งํ๋ก์ ํธ์์ pom.xml์ด๋ ์ด๋ฆ์ผ๋ก ์ฐ๊ณ , Gradle์ ์คํ๋ง๋ถํธ, ์๋๋ก์ด๋์์ ์ฐ๋๊ฑธ๋ก ์๊ณ ์๋ค. ์ฒ์์ ๋จ์ํ
hyojun123.github.io
dependecies๋ฅผ ์ ํํด์ค๋ค. ๊ทธ๋ฆฌ๊ณ build.gradle์ ์ด์ด์ค๋ค.
src์ main๊ณผ test ํด๋๊ฐ ๋๋์ด์ ธ ์๋ค. test์๋ ํ ์คํธ์ฝ๋ ๊ด๋ จ ์์ค๋ค๋ง ๋ค์ด์๋ค. (๊ทธ๋งํผ ํ ์คํธ ์ฝ๋๊ฐ ์ค์ํจ!)
resources๋ ์ค์ ์๋ฐ ํ์ผ์ ์ ์ธํ ๋๋จธ์ง๊ฐ ๋ค์ด๊ฐ ์๋ค.
๐ฅํ ํ๋ฆฟ ์์ง
Thymleaf๋ ํ ํ๋ฆฟ์์ง์ด๋ค. ํ ํ๋ฆฟ ์์ง์ ์ง์ ๋ ํ ํ๋ฆฟ ์์๊ณผ ๋ฐ์ดํฐ๊ฐ ํฉ์ณ์ ธ HTML ๋ฌธ์๋ฅผ ์ถ๋ ฅ
ํ๋ ์ํํธ์จ์ด์ด๋ค. ์น ํ ํ๋ฆฟ ์์ง์ HTML๊ณผ DB connection์ ๋ถ๋ฆฌํด์ฃผ๋ ๊ธฐ๋ฅ์ ํ๋ค. ํ ํ๋ฆฟ์์ง์
์๋ฒ ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง๊ณผ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง์ผ๋ก ๋๋ ์ ์๋ค.
์ด์ธ์๋ Express์๋ Handle bars๋ผ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ ํ ํ๋ฆฟ ์์ง์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
๐ ์๋ฒ ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง
์๋ฒ์์ DB ํน์ API์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์๋ Template์ ๋ฃ์ด HTML์ ๊ทธ๋ ค์ ํด๋ผ์ด์ธํธ์
์ ๋ฌํด์ฃผ๋ ์ญํ ์ ํ๋ค. HTML์ฝ๋์์ ๊ณ ์ ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ถ๋ถ์ ํ ํ๋ฆฟ์ผ๋ก ๋ง๋ค์ด๋๊ณ , ๋์ ์ผ๋ก ์์ฑ๋๋
๋ถ๋ถ๋ง ํ ํ๋ฆฟ์ ํน์ ์ฅ์์ ๋ผ์๋ฃ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค.
์๋ฒ์์ ์ต์ข HTML ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด์ ๋ธ๋ผ์ฐ์ ์ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์ ์ฃผ๋ก ํ๋ฉด์ด๋์ด ๋ง์ ๊ณณ์์ ์ฌ์ฉ๋๋ค.
๋ํ์ ์ธ ์๋ฒ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง์ผ๋ก๋ Thymelead,JSP,Freemaker๊ฐ ์๋ค.
๐ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง
HTML ํํ๋ก ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ๋์ ์ผ๋ก DOM์ ๊ทธ๋ฆฌ๊ฒ ํด์ฃผ๋ ์ญํ ์ด๋ค.
๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ DOM ๊ฐ์ฒด์ ๋์ ์ผ๋ก ๊ทธ๋ ค์ฃผ๋ ํ๋ก์ธ์ค๋ฅผ ๋ด๋นํ๊ณ ์๋ค.
URL์ด ๋ฐ๋์ด๋ HTML์ ๋ค์ ๋ด๋ ค๋ฐ์ง ์๊ณ ํด๋ผ์ด์ธํธ์์ ์์์ ๊ทธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์ฃผ๋ก ๋จ์ผ ํ๋ฉด์ด
๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋๋ค.
๋ํ์ ์ผ๋ก Mustache, Squirrelly, Handlebars๊ฐ ์๋ค.
ref
https://velog.io/@hi_potato/Template-Engine-Template-Engine
[Template Engine] ํ ํ๋ฆฟ ์์ง์ด๋?
์ง์ ๋ ํ ํ๋ฆฟ ์์๊ณผ ๋ฐ์ดํฐ๊ฐ ํฉ์ณ์ ธ HTML ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋ ์ํํธ์จ์ด์ ๋๋ค.
velog.io
.gitignore : git์ ์ง์ง ์์ค์ฝ๋๋ค๋ง ๋ค์ด๊ฐ๊ฒ ํด์ค๋ค.
build.gradle : ๐๋งค์ฐ ์ค์!
ํ์ผ์์ฒด๊ฐ project ์ค๋ธ์ ํธ์ด๋ค. project ์ค๋ธ์ ํธ๋ project์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ตฌํ์ฒด์ด๋ค.
project ์ค๋ธ์ ํธ๋ project ๋จ์์์ ํ์ํ ์์ ์ ์ํํ๊ธฐ ์ํด ๋ชจ๋ ๋ฉ์๋์ ํ๋กํผํฐ๋ค์ ๋ชจ์ ๋์
์ํผ๊ฐ์ฒด์ด๋ค.
[Gradle] build.gradle์ ๋์์๋ฆฌ ํ ๋ฒ์ ์ ๋ฆฌํ๊ธฐ
build.gradle์ ๋ฌด์์ธ๊ฐ? build.gradle์ ํ์ผ ์์ฒด๊ฐ Project ์ค๋ธ์ ํธ(๊ฐ์ฒด)๋ก, Project ์ค๋ธ์ ํธ๋ Project ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ตฌํ์ฒด์ด๋ค. Project ์ค๋ธ์ ํธ๋ Project ๋จ์์์ ํ์ํ ์์ ์ ์ํํ๊ธฐ..
kotlinworld.com
๐จ error: invalid source release: 17์๋ฌ
build.gradle์์
sourceCompatibility = '11'
11๋ก ๋ณ๊ฒฝํด์ฃผ๊ณ
File -> Project Structure์์
11๋ก ๋ณ๊ฒฝํด์คฌ๋๋ ํด๊ฒฐ๋์๋ค.
์คํ๋ง๋ถํธ๋ ํฐ์บฃ์ด๋ผ๋ ์น์๋ฒ๋ฅผ ๋ด์ฅํ๊ณ ์๋ค๊ณ ํ๋ค.
๐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ดํด๋ณด๊ธฐ
์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋
๐ฅspring-boot-starter-web
- spring-boot-starter-tomcat : ํฐ์บฃ(์น์๋ฒ)
- spring-webmvc : ์คํ๋ง ์น MVC
๐ฅspring-boot-starter-thymeleaf : ํ์๋ฆฌํ ํ ํ๋ฆฟ ์์ง
๐ฅspring-boot-starter : ์คํ๋ง๋ถํธ + ์คํ๋ง์ฝ์ด + ๋ก๊น
- spring-boot
- spring-core
๐ฅspring-boot-starter-logging
- logback,slf4j
์ค๋ฌด์์๋ log๋กprintํด์ผํจ. System.out.println์ฐ๋ฉด ์๋จ.
ํ
์คํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋
๐ฅspring-boot-starter-test
- junit : ํ ์คํธ ํ๋ ์์ํฌ (junit 5)
- mockito
- assertj
- spring-test
[Spring Boot] ์คํ๋ง ๋ถํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ดํด๋ณด๊ธฐ
์คํ๋ง ๋ถํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ดํด๋ณด๊ณ ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
velog.io
'Springboot > lecture' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[springboot] ์คํ๋ง ๋น๊ณผ ์์กด๊ด๊ณ (0) | 2022.08.02 |
---|---|
[springboot] ํ์ ์๋น์ค ๊ฐ๋ฐ (0) | 2022.08.01 |
[spring] ํ ์คํธ ์ฝ๋ ์์ฑํ๋ ๋ฐฉ๋ฒ (0) | 2022.07.26 |
[spring] ์ ์ ์ปจํ ์ธ , MVC์ ํ ํ๋ฆฟ ์์ง , API (0) | 2022.07.26 |
[spring] ์ ์ ํ์ผ๊ณผ ํ ํ๋ฆฟ์์ง์ ๋์ ์์๋ณด๊ธฐ (0) | 2022.07.26 |