* ์คํ๋ง ํ๋ ์์ํฌ ์๊ฐ
์คํ๋ง ํ๋ ์์ํฌ๋ ์๋ฐ ํ๋ซํผ์ ์ํ ํ๋ ์์ํฌ์ด๋ค. ๋์ ์ธ ์น ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ฌ๋ฌ๊ฐ์ง ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์๋ค. ์ํฐํ๋ผ์ด์ฆ ์ดํ๋ฆฌ์ผ์ด์
(๊ธฐ์
ํ ์์ฉ ํ๋ก๊ทธ๋จ) ๊ฐ๋ฐ ์์ ์คํ๋ง์ ํต์ฌ ๊ธฐ๋ฅ์ธ dependency injection(์์กด์ฑ ์ฃผ์
), transaction management(ํธ๋์ญ์
๊ด๋ฆฌ)๊ฐ ์ค์ํ๊ฒ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์น ์๋น์ค ๊ฐ๋ฐ์ ๋๋ฆฌ ์ฌ์ฉ๋๊ฒ ๋์๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์๋ฐ ์๋์
(EE)์ด ์์ง๋ง, ์ฌ์ฉ์ ๋ถํธํจ์ผ๋ก ์ธํด ์คํ๋ง์ ๋ํ ์์๊ฐ ๋์ฑ ์ปค์ก๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ง์ผ๋ก ๊ด๋ฆฌ๊ฐ ํธ๋ฆฌํ๋ค๋ ์คํ๋ง์ ํน์ฑ ๋๋ฌธ์ด๋ค.
Java SE(์คํ ๋ค๋ ์๋์
)์ Java EE(์ํฐํ๋ผ์ด์ฆ ์๋์
)์ ์ฐ๋ ๋์ ์, Java SE์ Spring์ ์น์ด์ ์ฃผ๋ก ์ฌ์ฉํ๊ฒ ๋์๋ค.
=> Java SE + Spring ํํ๋ก ์น ๊ฐ๋ฐ
(Java SE + Java EE + Spring ํํ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.)
* ๋์จํ ๊ฒฐํฉ๋ ฅ๊ณผ ์ธํฐํ์ด์ค
์๋ฅผ ๋ค์ด, ์ฝ๋ ์์ ์ ํ ๋ Service ์์ ์์ Dao๋ ๋ฐ๊ฟ์ผ๋ง ํ๋ค๋ฉด ์ด๋ ๊ฒฐํฉ๋ ฅ์ด ๋์ ์ํ์ด๋ค. ๊ฒฐํฉ๋ ฅ์ด ๋์ผ๋ฉด ์์ ํ ๋ ๋ฒ๊ฑฐ๋ก์ด ๋ถ๋ถ์ด ์์ผ๋ฏ๋ก ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋์ฑ ๋ฐ๋์งํ๋ค. ๋ํ ์ด๋ณด๋ค ๋ ๊ฒฐํฉ๋ ฅ์ ๋ฎ์ถ๊ธฐ ์ํด์๋ ๊ฐ์ฒด ์์ฑ๊ณผ ์กฐ๋ฆฝ์ ์ํ ์์ค ์ฝ๋๋ฅผ ์ธ๋ถ ์ค์ ์ผ๋ก ๋นผ๋๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ฅผ ๋์์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก ์คํ๋ง์ด๋ค.
=> ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ถ๋ถ์ Java ์์ค ์ฝ๋์์ ์ง์ ํ์ง ์๊ณ ์คํ๋ง์ ์ด์ฉํ์ฌ ์ธ๋ถ XML์ผ๋ก ๋นผ๋๊ฑฐ๋, ์ด๋
ธํ
์ด์
์ค์ ์ ํ๋ค. ์ด๋ฅผ ํตํด ๊ฒฐํฉ๋ ฅ์ ๋ฎ์ถ์ด ์ฝ๋ ์์ ์ ์ฉ์ดํ๊ฒ ํ ์ ์๋ค.
=> ์ฆ, ์คํ๋ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์กฐ๋ฆฝํ๋ ์ญํ ์ ํ๋ค.
๋ด๋ ์ฒ ์คํ๋ง ํ๋ ์์ํฌ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ ๋ฆฌํ ๊ฒ์๊ธ์ ๋๋ค.
'๐ปStudy > Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ด๋ ธํ ์ด์ ์ ์ด์ฉํ ๊ฐ์ฒด ์์ฑ(@Component) (0) | 2021.02.12 |
---|---|
์ด๋ ธํ ์ด์ ์ ์ด์ฉํ DI (@Autowired, @Qualifier) (0) | 2021.02.12 |
xml์ ์ด์ฉํ ์คํ๋ง DI ์ง์์ ์์ฑ(Spring Bean Configuration), IoC ์ปจํ ์ด๋ ์ฌ์ฉํ๊ธฐ (0) | 2021.02.12 |
์คํ๋ง ์์ด DI ํด๋ณด๊ธฐ (0) | 2021.02.11 |
DI์ IoC ์ปจํ ์ด๋ (0) | 2021.02.11 |