ํ์ ์ ๋๊ฐ๋ณด๋ฉด ์๋ฐ 8, 11, ์ต์ release ๋ฒ์ ์ธ 17๋ฒ์ ๊น์ง ๋ค์ํ๊ฒ ์ฌ์ฉ ํ๋ค๊ณ ํฉ๋๋ค.
๊ฐ์ฌ๋ ๊ป์๋ ์ด๋ฒ ๊ณผ์ ์ ์๋ฐ 11๋ฒ์ ์ ์ฌ์ฉ ํ๋ค๊ณ ํ์ ์, ํ๊ฒฝ๋ณ์ ์ค์ ์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. (๊ธฐ์กด์ 17๋ฒ์ ์ฌ์ฉ)
์๋ฐ 11๋ฒ์ ์ค์ ๋ธ๋ก๊ทธ Reference
์๋ฐ 17๋ฒ์ ์ค์ ๋ธ๋ก๊ทธ Reference
ํ๊ฒฝ๋ณ์ ์ค์ ์ ์ ์ ๋ฆฌํด์ฃผ์ ๋ธ๋ก๊ทธ ์ ๋๋ค. ์ฐธ๊ณ ํ์ ์ ์ค์ ํ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ธฐ๋ณธ์ ์ธ Spring ์ ๊ธฐ๋ณธ ๊ฐ๋
์ ์์ฑ ํ์ง ์๊ณ ์์ฑ ํ๊ฒ ์ต๋๋ค.
Spring ์ด๋
Spring Framework๋ผ๊ณ ๋ ํ๋ฉฐ ์๋ฐ ์ธ์ด๋ฅผ ํตํด ์์ฝ๊ฒ ๋์ ์ธ ์น ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ฌ๋ฌ๊ฐ์ง ์๋น์ค๋ฅผ ์ ๊ณต ํฉ๋๋ค.
EX :
DI (์์กด์ฑ ์ฃผ์ ),
AOP (๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ) โฌ ์ฃผ๋์ดํํ ๋งก๊ธฐ์ง ์๋๋ค๊ณ ํ์ฌ.
โก ํ์ง๋ง ์์กด์ฑ (dependency) ๋ฅผ ์ค์ ํ๊ธฐ ์ํด ๋ฒ์ (version) ๊น์ง ์ ํํ๊ฒ ํ๋ ํ๋ ์์ฑํด์ผ ํฉ๋๋ค.
โก ๊ตฌ์ฑ์ ๋ํ ์ค์ ์ฆ Spring Boot ๋ฅผ ์ฌ์ฉํ๋ฉด application.properties, yml ํ์ผ์์ ๊ตฌ์กฐ๋ฅผ ๋ง์ถฐ ์์ฑํ๋ฉด ๋์ง๋ง, Spring ์์๋ ๊ตฌ์ฑ์ ๋ํด ์ค์ ํ๋ ค๋ฉด ๊ธด ๋ก์ง์ ์์ฑํด์ผ ํฉ๋๋ค.
Spring Boot ๋
์ด๋ฌํ ์์กด์ฑ์ ์ค์ ํ๊ธฐ ์ํ ์ฝ๋๊ฐ ์งง์์ง๊ณ , ์๋์ ์ฌ์ง์ฒ๋ผ
starter๋ฅผ ํตํ ๋ฒ์ ์ ์๋ํ ํฉ๋๋ค. (์์ฒญ๋ ์ฅ์ )
โก ์ถ๊ฐ๋กjarํ์ผ์ ํตํด ์์ฝ๊ฒ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅ ํฉ๋๋ค.
- ์ค์ ์ด ๊ฐํธํจ
- ์์กด์ฑ ์ถ๊ฐ์ ์ญ์ ๊ฐ ํธ๋ฆฌ, ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์๋์ผ๋ก ํด์ค
- ๋ด์ฅ ์๋ฒ๋ก ์ธํ ๋ฐฐํฌ๊ฐ ๊ฐ๋จํจ
- Spring Security, Spring Data Jpa ๋ฑ์ ์์กด์ฑ์ ์ฝ๊ฒ ์ฌ์ฉ ํ ์ ์๋ค.
HTTP๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ฉฐ, ์๋ฅผ ๋ค์ดHTML,CSS๋ฑ ์ ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์์ ์ ํ๊ตฐ :apache,Nginx
๋์ ์ธ ํ์ด์ง๋ฅผ ๋ง๋ค์ด ๋ผ์ ์๋ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ฉฐ, ๋น์ฆ๋์ค ๋ก์ง๋ ์ํ์ด ๊ฐ๋ฅํฉ๋๋ค.
์์ ์ ํ๊ตฐ :Tomcat,์ ์ฐ์ค
WS (์น์๋ฒ) ๋ ์ ์ ์ธ ํ์ด์ง์ ๊ฐ์ ์ปจํ ์ธ ๋ง ์ ๊ณตํ ์ ์๊ณ ,
WAS (์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ) ๋ ๋น์ฆ๋์ค ๋ก์ง์ ์คํํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๊ณ ์ด๋ ํ ๋์์ ์ํํ๊ณ ๋ง๋ค์ด์ง ๋ฐ์ดํฐ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
โก ์ํฉ์ ๋ฐ๋ผ ๋ณํ๋๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์๋์ง ์ ๊ณตํ ์ ์์ผ๋ฉด WS,
์์ผ๋ฉด WAS ์
๋๋ค.
@RestController ๋ก ์งํํ์์ต๋๋ค.
โก View ์์ง๊ณผ ์๊ด์์ด RestFul API ์๋ฒ๋ฅผ ๋ง๋ค๋ ์ฌ์ฉ
์๋์ ์ฌ์ง๊ณผ ๊ฐ์ด ๊ฐ์ฒด๋ก ๋ฐํํ๊ฒ ๋๋ฉด
jsonํํ๋ก ๋ฐํ ๋๊ฒ ๋ฉ๋๋ค.
(์ฒ์ ์ ์ฌ์ค ์ด์๋ค.)
(๋์ค์๋DTOํด๋์ค๋ฅผ ํตํด ํธ์ถ๊ณผ ๋ฐํ)
(์ฌ๊ธฐ์DTOํด๋์ค๋ ํ ์ด๋ธ๋น ํ๊ฐ ๋ผ๊ณ ํ์ฌ) โก (VO (read-only) ๊ฐ๋ ๊ณผ ์ฐจ์ด)
์ฌ๊ธฐ์ ์ HashMap<Object,Object> store = new HashMap<>() ์ด ์๋๋ผ Map<Object, Object> store = new HashMap<>() ์ผ๋ก ์ ์ธ ํ ๊น์?
(ArrayList ๊ฐ์ฒด๋ ๋ง์ฐฌ๊ฐ์ง)
๊ตฌํ์ฒด ํด๋์ค๊ฐ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์ ์ธํจ์ผ๋ก์จ ๋คํ์ฑ์ ์ง์ํ๊ณ , ์ฒ์๋ถํฐ ๋ณ๊ฒฝ์ ์ ์ฐํ ๊ตฌ์กฐ๋ก ์ค๊ณ ํ๊ธฐ ์ํด์ ์ ๋๋ค.
์๋์ ์ฌ์ง์ฒ๋ผ LinkedList ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ArrayList ๋ก ์ ์ธ๋ ๋ชจ๋ ๋ถ๋ถ์ ๋ฐ๊ฟ์ค์ผ ํฉ๋๋ค. โก ์ ์ฐํ์ง ๋ชปํจ
Sring.buffer ์ SringBuilder ์ ์ด์ผ๊ธฐ์์ ํ์๋์ด ๋ฉํฐ ์ฐ๋ ๋, ์ฐ๋ ๋ ์์ ์ฑ, ๋๊ธฐํ ๊ฐ๋
์ ์ค๋ช
ํด์ฃผ์
จ๊ณ POJO์ ๋ํด์๋ ์ค๋ช
ํด์ฃผ์
จ์ง๋ง
๋๊ฐ ๋ฒํฐ์ง ๋ชปํ๋ค....
(์น ๊ฐ๋ฐ ํ ๋๋ ๋ฉํฐ ์ฐ๋ ๋๋ฅผ ์ ์ฌ์ฉํ์ง ์๋๋ค๊ณ ํ์ฌ)
(์๊ฐ ๋ด์ด์ ๊ณต๋ถ ํด๋ณด์ ๐ค)