ํด๋์ค์ ์์กด๊ด๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Setter, Field, Constructor Injector๋ชจ๋ Injector interface๋ฅผ ์์๋ฐ์ผ๋ฉฐ ๊ตฌํํ๋ฉฐ ๊ณตํต๋๋ ์ฌํญ๋ค์ AbstractInjector
๋ก ๋ชจ์๋ก๋๋ค.
AbstractInjector๋ฅผ ์ดํด๋ณด๋ฉด ๊ตฌํ๋์ด ์๋ inject์์ ๊ฐ ์ธ์ ํฐ๋ง๋ค ๋ค๋ฅธ ๋์์ ํ๋ ๋ถ๋ถ๋ค์ ๋ํด์๋ ํ
ํ๋ฆฟ ๋ฉ์๋ ํจํด์ ํตํด ํ์ ๊ตฌํ์ฒด์๊ฒ ์์ํฉ๋๋ค.
๋ฐ๋ผ์ Injector ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ตฌํ์ฒด๋ค์ ๋ค๋ฅธ ์ธ์ ํฐ๋ค๊ณผ ๊ตฌ๋ณ๋๋ ๋ถ๋ถ๋ง ๊ตฌํํ๋ฉด ๋ฉ๋๋ค.
์์ ์ธ์ ํฐ๋ค์ ์ฃผ์ ํ๋ค๋ ์๋ฏธ์ ์ธ์ ํธ์ ๋ฌ๋ฆฌ, bean ํด๋์ค๋ค์ ๋ํ ์์ฑ๊ณผ ์ฃผ์ ์ ๋ชจ๋ ๋ด๋นํฉ๋๋ค. ๋ฐ๋ผ์ BeanFactory๋ ๋จ์ง ์กฐํ๋ ํด๋์ค ํน์ ๋น์ ์กฐํํ๋ ์ญํ ๋ก๋ฐ์ ์ฌ์ฉ๋์ง ์๊ธฐ์ ๊ฐ์ ์ด ํ์ํด ๋ณด์ ๋๋ค!
์ฐ์ ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.