Spring framework ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
EJB
โข
EJB(Enterprise Java Bean)๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์์ฑ์ ์ฝ๊ฒ ํ ์ ์๋ค.
โข
Low Level์ ํธ๋์ญ์
์ด๋ ์ํ๊ด๋ฆฌ, ๋ฉํฐ ์ฐ๋ ๋ฉ, ๋ฆฌ์์ค ํ๋ง๊ณผ ๊ฐ์ ๋ณต์กํ Low Level์ API ๋ฐ์๋ฅผ ์ดํดํ์ง ๋ชปํ๋๋ผ๋ ์๋ฌด ๋ฌธ์ ์์ด ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค.
EJB์ ๋จ์
โข
์ฝ๋ ์์ ํ ๋ฐ์ํ๋ ๊ณผ์ ์์ฒด๊ฐ ๊ฑฐ์ฐฝํด ๊ธฐ๋ฅ์ ์ข์ง๋ง ๋ณต์กํ ์คํ์ผ๋ก ์ธํ ๊ฐ๋ฐ์ ํจ์จ์ฑ ๊ฐ์
โข
์ดํ๋ฆฌ์ผ์ด์
ํ
์คํธ๋ฅผ ์ํด ๋ฐ๋์ EJB ์๋ฒ๊ฐ ํ์ํจ
์คํ๋ง์ ๋ฑ์ฅ
โข
์ ์ฐจ POJO + ๊ฒฝ๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ์์
โข
POJO (Plain Old Java Object)
โฆ
ํน์ ํ๋ ์์ํฌ๋ ๊ธฐ์ ์ ์์กด์ ์ด์ง ์์ ์๋ฐ ๊ฐ์ฒด
โฆ
ํน์ ๊ธฐ์ ์ ์ข
์์ ์ด์ง ์๊ธฐ ๋๋ฌธ์ ์์ฐ์ฑ, ์ด์์ฑ ํฅ์
โฆ
Plain : component interface๋ฅผ ์์๋ฐ์ง ์๋ ํน์ง (ํน์ framework์ ์ข
์๋์ง ์๋)
โฆ
Old : EJB ์ด์ ์ ์๋ฐ class
โข
๊ฒฝ๋ ํ๋ ์์ํฌ
โฆ
EJB๊ฐ ์ ๊ณตํ๋ ์๋น์ค๋ฅผ ์ง์ํด ์ค ์ ์๋ ํ๋ ์์ํฌ ๋ฑ์ฅ
โฆ
Hibernate, JDO, Mybatis, Spring
Spring Framework
โข
์ํฐํ๋ผ์ด์ฆ ๊ธ ์ดํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค๊ธฐ ์ํ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ข
ํฉ์ ์ผ๋ก ์ ๊ณตํ๋ ๊ฒฝ๋ํ ๋ ์๋ฃจ์
โข
JEE(Java Enterprise Edition)๊ฐ ์ ๊ณตํ๋ ๋ค์์ ๊ธฐ๋ฅ์ ์ง์ํ๊ณ ์๊ธฐ ๋๋ฌธ์, JEE๋ฅผ ๋์ฒดํ๋ Framework๋ก ์๋ฆฌ์ก๊ณ ์์
โข
JEE๊ฐ ์ ๊ณตํ๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ, DI(Dependency Injection)๋ AOP(Aspect Oriented Programming)์ ๊ฐ์ ๊ธฐ๋ฅ๋ ์ง์ํ๋ค.
โข
๊ฐ๋ฐ์๊ฐ ๋ณต์กํ๊ณ ์ค์ํ๊ธฐ ์ฌ์ด Low Level์ ์ ๊ฒฝ ์ฐ์ง ์๊ณ Business Logic ๊ฐ๋ฐ์ ์ ๋
ํ ์ ์๋๋ก ํด์ค๋ค.
Spring Framework์ ๊ตฌ์กฐ
Spring ์ผ๊ฐํ
Enterprise Application ๊ฐ๋ฐ ์ ๋ณต์กํจ์ ํด๊ฒฐํ๋ Spring์ ํต์ฌ
POJO (Plain Old Java Object)
โข
ํน์ ํ๊ฒฝ์ด๋ ๊ธฐ์ ์ ์ข
์์ ์ด์ง ์์ ๊ฐ์ฒด์งํฅ ์๋ฆฌ์ ์ถฉ์คํ ์๋ฐ ๊ฐ์ฒด
โข
ํ
์คํธํ๊ธฐ ์ฉ์ดํ๋ฉฐ, ๊ฐ์ฒด์งํฅ ์ค๊ณ๋ฅผ ์์ ๋กญ๊ฒ ์ ์ฉํ ์ ์๋ค.
PSA(Portable Service Abstraction)
โข
ํ๊ฒฝ๊ณผ ์ธ๋ถ๊ธฐ์ ์ ๋ณ๊ฒฝ๊ณผ ๊ด๊ณ์์ด ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ๊ธฐ์ ์ ์ ๊ทผํ ์ ์๊ฒ ํด์ฃผ๋ ์ค๊ณ ์์น
โข
์๋ฅผ ๋ค์ด DB์ ๊ด๊ณ์์ด ๋์ผํ๊ฒ ์ ์ฉํ ์ ์๋ ํธ๋์ญ์
์ฒ๋ฆฌ ๋ฐฉ์
IoC/DI (Inversion of Control / Dependency Injection)
โข
DI๋ ์ ์ฐํ๊ฒ ํ์ฅ ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ๋๊ณ ๊ฐ์ฒด ๊ฐ์ ์์กด๊ด๊ณ๋ ์ธ๋ถ์์ ๋ค์ด๋๋ฏนํ๊ฒ ์ค์
AOP (Aspect Oriented Programming)
โข
๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ๋ฅผ ํตํด์ ์ํํธ์จ์ด์ ๋ชจ๋์ฑ์ ํฅ์
โข
๊ณตํต ๋ชจ๋์ ์ฌ๋ฌ ์ฝ๋์ ์ฝ๊ฒ ์ ์ฉ ๊ฐ๋ฅ
Spring Framework Module
Spring Core
โข
Spring Framework์ ํต์ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, Core ์ปจํ
์ด๋์ ์ฃผ์ ์ปดํฌ๋ํธ๋ Bean Factory์ด๋ค.
โฆ
Bean : Spring์์์ ๊ฐ์ฒด
โฆ
Bean Factory : ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ณต์ฅ, ์ฌ์ฉ์์ ๊ฐ์ฒด ์์ฑ์ ๋์ ํจ