์๋ฐ ํ๋ซํผ์ ์ํ ์คํ ์์ค ์ ํ๋ฆฌ์ผ์ด์
ํ๋ ์์ํฌ๋ก ๊ฐ๋จํ๊ฒ ์คํ๋ง(Spring)์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
๋์ ์ธ ์น ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ฌ๋ฌ ๊ฐ์ง ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์์ผ๋ฉฐ
๋ํ๋ฏผ๊ตญ ๊ณต๊ณต๊ธฐ๊ด์ ์น ์๋น์ค ๊ฐ๋ฐ ์ ์ฌ์ฉ์ ๊ถ์ฅํ๊ณ ์๋
์ ์์ ๋ถ ํ์ค ํ๋ ์์ํฌ(Spring MVC Project ๊ธฐ๋ฐ ํ๋ ์์ํฌ)์ ๊ธฐ๋ฐ ๊ธฐ์ ๋ก์ ์ฐ์ด๊ณ ์๋ค.
IOC (Inversion of Control) ์ ์ด ๋ฐ์ |
์ปจํธ๋กค์ ์ ์ด๊ถ์ด ๊ฐ๋ฐ์๊ฐ ์๋๋ผ ํ๋ ์์ํฌ์ ์๋ค๋ ๋ป์ผ๋ก ๊ฐ์ฒด์ ์์ฑ๋ถํฐ ๋ชจ๋ ์๋ช ์ฃผ๊ธฐ์ ๊ด๋ฆฌ๊น์ง ํ๋ ์์ํฌ๊ฐ ์ฃผ๋ํ๊ณ ์๋ค. ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ , ์ง์ ํธ์ถํ๋ ํ๋ก๊ทธ๋จ์ด ์๋๋ผ, ๋ง๋ค์ด๋ ์์์ ํธ์ถํด์ ์ฌ์ฉํ๋ค. |
DI (Dependency Injection) ์์กด์ฑ ์ฃผ์ |
์ค์ ํ์ผ์ด๋ ์ด๋ ธํ ์ด์ ์ ํตํด ๊ฐ์ฒด๊ฐ์ ์์กด ๊ด๊ณ๋ฅผ ์ค์ ํ์ฌ ๊ฐ๋ฐ์๊ฐ ์ง์ ์์กดํ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ์๊ฐ ์๋ค. |
POJO ๊ธฐ๋ฐ ํ๋ ์์ํฌ (Plain Old Java Object) |
J2EE, EJB์ ๊ฐ์ ํน์ ๊ธฐ์ ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ด์ฉ์ ์์๋ฐ์ ํด๋์ค๋ฅผ ๊ตฌํํ ์ง ์๊ณ ์ผ๋ฐ์ ์ธ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ง์ ๊ฐ์ง ์์ํ ์๋ฐ ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค. ํน์ ํด๋์ค์ ์ข ์๋์ง ์์ผ๋ฏ๋ก ์๋ฐ์ ๊ฐ์ฒด์งํฅ์ ์ค๊ณ๊ฐ ์ฌ์์ง๊ณ , ์ฝ๋๊ธธ์ด ๊ฐ์, ์ ์ง๋ณด์์ฑ ์ฆ๊ฐ, ๊ธฐ์กด Java API, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ง์์ ์ฉ์ดํ๋ค. |
Spring AOP (Aspect Oriented Programming) ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ |
ํธ๋์ญ์ , ๋ก๊น , ๋ณด์ ๋ฑ ์ฌ๋ฌ ๋ชจ๋, ์ฌ๋ฌ ๊ณ์ธต์์ ๊ณตํต์ผ๋ก ํ์๋ก ํ๋ ๊ธฐ๋ฅ์ ๊ฒฝ์ฐ ํด๋น ๊ธฐ๋ฅ๋ค์ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๋ค |
Spring Framework ์์๋ ํด๋ผ์ด์ธํธ์ ํ๋ฉด์ ํํํ๊ธฐ ์ํ View์ ์๋น์ค๋ฅผ ์ํํ๊ธฐ ์ํ ๊ฐ๋ฐ ๋ก
์ง ๋ถ๋ถ์ ๋๋๋ MVC2 ํจํด์ ์ง์ํ๋ค.
๋ํ Model, View, Controller ์ฌ์ด์ ์์กด ๊ด๊ณ๋ฅผ DI ์ปจํ
์ด๋์์ ๊ด๋ฆฌํ์ฌ ์ ์ฐํ ์น ์ ํ๋ฆฌ์ผ์ด์
์
์ฝ๊ฒ ๊ตฌํ ๋ฐ ๊ฐ๋ฐํ ์ ์๋ค
: ์์ฒญ์ ์ปจํธ๋กค๋ฌ๋ก ์ ๋ฌ + ์๋ต
: ์ด๋ค ์์ฒญ์ ์ด๋ค ํด๋์ค/ ๋ฉ์๋๋ก ์ฐ๊ฒฐํ๋ ์ง ์ ์ดํ๋ ๊ฐ์ฒด
: Controller์์ ๋ฐํ๋ ๋ฌธ์์ด("common/main")
์ ๋ค์ ๊ฒฝ๋ก(/WEB-INF/views), ํ์ฅ์(.jsp)๋ฅผ ๋ถ์ฌ์
jspํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ ํ forward(์์ฒญ ์์)์ ํ๋ ๊ฐ์ฒด