[์ฐธ๊ณ ] https://mingrammer.com/translation-10-common-software-architectural-patterns-in-a-nutshell/
โ๏ธ ์ ํ๋ฆฌ์ผ์ด์
- ์ํํธ์จ์ด ์ข ๋ฅ์ ํ๋
- ์ข๊ฒ๋ ๋ฐ์คํฌํ์ด๋ ์ค๋งํธํฐ์์ ์ฌ์ฉํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์๋ฏธ
- ๋๊ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฏธ
API ๊ณ์ธต์์ ์ ๋ฌ ๋ฐ์ ์์ฒญ์ ์ ๋ฌด ๋๋ฉ์ธ์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ๋น์ฆ๋์ค์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ณ์ธต
๋๋ฉ์ธ ์ง์๋ค์ ์๋น์ค ๊ณ์ธต์์ ๋น์ฆ๋์ค ๋ก์ง์ผ๋ก ๊ตฌํํด์ผํจ
( ์ ํ๋ฆฌ์ผ์ด์
์ ํต์ฌ )
โ๏ธ ๋๋ฉ์ธ ์ง์ (Domain Knowledge)
ํน์ , ์ ๋ฌธํ๋ ๋ถ์ผ์ ์ง์
[์ฐธ๊ณ ] https://docs.spring.io/spring-framework/docs/5.0.0.M5/spring-framework-reference/html/overview.html
โ๏ธ ๋ชจ๋(Module)
- ์ง์๋๋ ์ฌ๋ฌ๊ฐ์ง ๊ธฐ๋ฅ๋ค์ ๋ชฉ์ ์ ๋ง๊ฒ ๊ทธ๋ฃนํ ํ์ฌ ๋ฌถ์ด ๋์ ๊ฒ
- ๋ชจ๋๋ค์ Java์ ํจํค์ง ๋จ์๋ก ๋ฌถ์ฌ์๊ณ , ์ด ํจํค์ง ์์๋ ๊ด๋ จ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํ ํด๋์ค๋ค์ด ํฌํจ
- ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํํ๋ก ์ ๊ณต๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ํต์ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ Spring Project ์ค ํ๋
Spring Framework์ ์ค์ ๋ณต์ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๊ฒจ๋ Spring Project ์ค ํ๋
XML ๊ธฐ๋ฐ์ ๋ณต์กํ ์ค๊ณ ๋ฐฉ์ ์ง์
โ ๋ณต์กํ ์ค์ ์ ๊ฐ๋จํ๊ฒ ํจ
์์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ ๊ด๋ฆฌ
( ์ด ์ ์๋ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ฆ, ๋ฒ์ ์ ์ผ์ผ์ด ์ถ๊ฐํ์์ )
โ Spring Boot์ starter ๋ชจ๋ ๊ตฌ์ฑ ๊ธฐ๋ฅ์ ํตํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋์ผ๋ก ์ค์ ํด์ผํ๋ ๋ถํธํจ ์ฌ๋ผ์ง
์ ํ๋ฆฌ์ผ์ด์
์ค์ ์ ์๋ ๊ตฌ์ฑ
โ ์คํํฐ(Starter) ๋ชจ๋์ ํตํด ์ค์น๋๋ ์์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์ ์ ์๋์ผ๋ก ๊ตฌ์ฑ
( ์ ๋ํ
์ด์
๋ง ์ฝ๋์ ์ถ๊ฐํ๋ฉด ๋จ )
โ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํ ์ค์ ์ ์ง์ ํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ ์ต์ํ
ํ๋ก๋์
๊ธ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฌ์ด ๋น๋
โ ๊ฐ๋ฐํ ์ ํ๋ฆฌ์ผ์ด์
๊ตฌํ ์ฝ๋๋ฅผ ์์ฝ๊ฒ ๋น๋ํ์ฌ ์ง์ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ War ํ์ผ ํํ๋ก WAS(Web Application Server)์ ์ฌ๋ฆด ํ์๊ฐ ์์
โ๏ธ Java ๊ธฐ๋ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ์
โ ๊ฐ๋ฐ์๊ฐ ๊ตฌํํ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ WAR(Web application ARchive) ํ์ผ ํํ๋ก ๋น๋ํ ํ์ WAS(Java์์๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ผ๊ณ ๋ ๋ถ๋ฆ ๋๋ค)๋ผ๋ ์๋ฒ์ ๋ฐฐํฌํด์ ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ
โ๏ธ WAS(Web Application Server)
- ๊ตฌํ๋ ์ฝ๋๋ฅผ ๋น๋ํด์ ๋์จ ๊ฒฐ๊ณผ๋ฌผ์ ์ค์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์คํ๋๊ฒ ํด์ฃผ๋ ์๋ฒ
- Java์์๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ผ๊ณ ๋ ๋ถ๋ฆ
๋ด์ฅ๋ WAS๋ฅผ ํตํ ์์ฌ์ด ๋ฐฐํฌ
โ Spring Boot์ Apache Tomcat์ด๋ผ๋ WAS๋ฅผ ๋ด์ฅํ๊ณ ์์ด, ๋ณ๋์ WAS๋ฅผ ๊ตฌ์ถํ ํ์ X
โ Spring Boot์ ํตํด ๋น๋๋ jar ํ์ผ์ ์ด์ฉํด์ java -jar <jar ํ์ผ๋ช
>.jar
๋ช
๋ น์ด ํ ์ค๋ง ์
๋ ฅ ํด์ฃผ๋ฉด ์๋น์ค ๊ฐ๋ฅํ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์คํ ํ ์ ์์
Spring ๊ตฌ์ฑ์ Spring์๊ฒ ๋งก๊ฒจ๋ฒ๋ฆฌ๊ณ ๋น์ฆ๋์ค ๋ก์ง์๋ง ์ง์คํ์ !!!!!
๊ทธ๋๋ ์ค๋์ ์ด์ ์ ์ฐ์ฅ์ !
์ด์ ๋ณด๋ค๋ ํ์คํ ๋จธ๋ฆฌ์ ๋ ๋ค์ด์๋ค!