728x90
728x90
ํ์ต ๋ชฉํ
1. '์์กด์ฑ ์ฃผ์ ' ๊ธฐ๋ณธ ๊ฐ๋ ์ดํด
2. ์คํ๋ง ์ปจํ ์ด๋์ ApplicationContext ์ดํด
3-1. XML ํ์ผ์ ์ด์ฉํ ์์กด์ฑ ์ฃผ์ (DI) ์ค์ ๋ฐฉ๋ฒ
3-2. Annotation์ ์ด์ฉํ ์์กด์ฑ ์ฃผ์ (DI) ์ค์ ๋ฐฉ๋ฒ
3-3. Java๋ฅผ ์ด์ฉํ ์์กด์ฑ ์ฃผ์ (DI) ์ค์ ๋ฐฉ๋ฒ
4. Bean ๊ฐ์ฒด์ Scope์ LifeCycle ์ดํด
Annotation ๊ธฐ๋ฐ DI ๊ตฌ์ฑ
์ด๋ ธํ ์ด์ (Annotation)
- ๋ฉํ๋ฐ์ดํฐ๋ฅผ XML ๋ฑ์ ๋ฌธ์์ ์ค์ ํ๋ ๊ฒ์ด ์๋๋ผ ์์ค์ฝ๋์ @~์ ํํ๋ก ํํ
- ํด๋์ค, ๋ฉ์๋ ,ํ๋์ ์ ์ธ๋ถ์ ํํํ์ฌ ํน์ ๊ธฐ๋ฅ์ด ์ ์ฉ๋์์์ ์๋ฆผ
- ์ ํ๋ฆฌ์ผ์ด์ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก XML ์ค์ ์ด ๋ณต์กํด ์ด๋ ธํ ์ด์ ์ผ๋ก ๊ฐ์
์ฃผ์ ์ด๋ ธํ ์ด์
- @Autowired (@Inject, @Resource )
- ์ปจํ ์ด๋๊ฐ ๋น๊ณผ ๋ค๋ฅธ ๋น๊ณผ์ ์์กด์ฑ์ ์๋์ผ๋ก ์ฐ๊ฒฐ
- ์ธ์คํด์ ๋ณ์ ์์ ์ฌ์ฉ
- context:annotation-config/ ์ค์ ์ด๋, context:component-scan />์ด ์ค์ ์ด ํ์
- @Autowired , @Resource, @Required ๋ฅผ ์ด์ฉํ ๋ ์ ์ธ
- XML ํ์ผ์ ์ด๋ฏธ ๋ฑ๋ก๋ ๋น๋ค์ ์ด๋ ธํ ์ด์ ๊ธฐ๋ฅ์ ์ ์ฉํ๊ธฐ ์ํด ์ ์ธ
- ๋น์ ๋ฑ๋กํ๊ธฐ ์ํ ๊ฒ์ ๊ธฐ๋ฅ X
- @Component ( @Named )
- ์ปจํ ์ด๋๊ฐ ์์กด์ฑ ์ฃผ์ ์ ์ํ ์ธ์คํด์ค๋ฅผ ์ค์
- ํด๋์ค ์ ์ธ ์์ ์ฌ์ฉ
- <context:component-scan base-package=“ ํจํค์ง ์ด๋ฆ "/> ์ ์ธ์ @Component๊ฐ ๋ถ์ ํด๋์ค๋ฅผ ์๋์ผ๋ก ๋น์ผ๋ก ๋ฑ๋ก
ํ์ฅ ์ด๋ ธํ ์ด์
Bean ์ ์ ํ์ผ์ ์ฃผ์ ์คํค๋ง (ApplicationContext.xml)
728x90
๋ฐ์ํ