7๋ฒ์งธ ๊ณผ์
1. DI
DI(Dependency Injection) : ์์กด์ฑ ์ฃผ์
- ์คํ๋ง์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์กด ๊ด๊ณ ์ฃผ์
ํ๋ ์์ํฌ์ด๋ค.
- ๊ฐ์ฒด ๊ฐ ์์กด๊ด๊ณ๋ฅผ ์คํ๋ง ์ปจํ
์ด๋๊ฐ ๊ฐ๋ฐ์๊ฐ ์ ์ํ Bean ๋ฑ๋ก ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์๋์ผ๋ก ์ฃผ์
ํด์ฃผ๋ ๊ฒ์ด๋ค.
- ๋จ๋จํ๊ฒ ๊ฒฐํฉ๋ ํด๋์ค๋ค์ ๋์จํ ๊ฒฐํฉ์ผ๋ก ์ฐ๊ฒฐ๋๊ฒ ํด์ค๋ค.
DI ๋ฐฉ๋ฒ
1) ํ๋ ์ฃผ์
: ๊ฐ์ฒด๋ฅผ ํด๋์ค์ ํ๋๋ก ์ ์ธํ๊ณ @Autowired๋ฅผ ๋ถ์ธ๋ค
2) ์์ฑ์ ์ฃผ์
: ์์ฑ์์ @Autowired๋ฅผ ๋ถ์ธ๋ค (๊ฐ์ฅ ๊ถ์ฅ!)
3) Setter ์ฃผ์
: Setter ๋ฉ์๋์ @Autowired๋ฅผ ๋ถ์ธ๋ค
2. IoC
IoC(Inversion of Control) : ์ ์ด์ ์ญ์
- ์ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์๋๊ณ ์ง์ DI ์์ ์ ์งํํ์ง ์๊ณ ์คํ๋ง์ ๊ฐ์ฒด ์์ฑ๊ณผ ์ฃผ์ ์ ์์ํ๋ ๊ฒ์ด๋ค.
728x90