(1) IoC ์ปจํ ์ด๋์ ์ญํ
๊ฐ๋ฐ์๊ฐ ์ ์ํ ๊ฐ์ฒด๋ค์ Bean์ผ๋ก IoC ์ปจํ ์ด๋์ ๋ณด๊ด์ ํด๋๊ณ , ์คํ๋ง์ ํตํด ์๋์ผ๋ก ์์กด์ฑ ์ฃผ์ ์ ํ ๋ Bean์ ๊ฐ์ฒด๋ก ๋ง๋ค์ด ์์กด์ฑ์ ์ฃผ์ ์ ํด์ฃผ๋ ์ญํ ์ ํ๋ค.
( ํด๋น ๋ถ๋ถ์ ์คํ๋ง ์๋ฒ๊ฐ ๋ฐ ๋ ์ฆ, ์ด๊ธฐํ ์์ ์ ๊ฐ์ฒด์ ๋ํ ์์กด์ฑ ์ฃผ์ ์ด ์ด๋ค์ง๋ค. )
์ฝ๋์ ์ผ๋ก org.springframework.context.ApplicationContext๋ Spring IoC ์ปจํ ์ด๋๋ฅผ ๋ํ๋ธ๋ค.
ํต์ฌ
๊ฐ์ฒด์ ์์ฑ๊ณผ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ํต์ฌ ์ปดํฌ๋ํธ์ด๋ค.
(2) IoC ์ปจํ ์ด๋์ Bean(๊ฐ์ฒด) ๊ด๋ฆฌ ๊ณผ์
IoC์ปจํ ์ด๋๊ฐ Bean์ ๊ด๋ฆฌํ๋ ๊ณผ์ ์ ํฌ๊ฒ 7๊ฐ์ง๊ฐ ์กด์ฌ ( ๋ํ, ๋น ์๋ช ์ฃผ๊ธฐ ๊ณผ์ ์ผ๋ก๋ ๋ณผ ์ ์๋ค. )
( ํด๋น ๊ณผ์ ์ ์ด๊ธฐํ ์์ ์ธ ์คํ๋ง ์๋ฒ๊ฐ ์ด๊ธฐ์ ๋ฐ ๋ ์ด๊ธฐํํ๋ ๊ณผ์ ์ ์๋ฏธ ํ๋ค. )
- 1. ๋น ์ ์ ์ฝ๊ธฐ: ์ค์ ํ์ผ ๋๋ ์ ๋ํ ์ด์ ์ ํตํด ๋น ์ ์๋ฅผ ์ฝ๋๋ค.
- 2. ๋น ๋ฑ๋ก: IoC ์ปจํ ์ด๋์ ๋น์ ๋ฑ๋กํ๋ค.
- 3. ๋น ์์ฑ: ๋น ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
- 4. ์์กด์ฑ ์ฃผ์ : ์์ฑ๋ ๋น ๊ฐ์ ์์กด์ฑ ์ฃผ์ ์ด ์ด๋ฃจ์ด์ง๋ค.
- 5. ๋น ์ด๊ธฐํ: ๋น์ด ์ด๊ธฐํ๋๊ณ ํ์ํ ์์ ์ ์ํํ๋ค.
- 6. ๋น ์ฌ์ฉ: ์์กด์ฑ ์ฃผ์ ์ด ์๋ฃ๋ ํ, ๋น์ด ์ค์ ๋ก ์ฌ์ฉ๋๋ค.
- 7. ๋น ์๋ฉธ: ์ ํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ ์ ๋น์ด ์๋ฉธ๋๋ค.
์ด ๊ณผ์ ์ ํตํด ์คํ๋ง IoC ์ปจํ ์ด๋๋ ๊ฐ์ฒด์ ์์ฑ๋ถํฐ ์๋ฉธ๊น์ง ๋ชจ๋ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๋ฉฐ, ๊ฐ๋ฐ์๊ฐ ๋น์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์ง์ ๊ด๋ฆฌํ ํ์ ์์ด ์คํ๋ง์ด ์๋์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
์ด๋ฌํ ๊ณผ์ ์ ์ฝ๋์ ์ผ๋ก org.springframework.context.ApplicationContext IoC์ปจํ ์ด๋ ๋ด๋ถ์์ ์ด๋ค์ง๋ ๊ณผ์ ์ด๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์คํ๋ง ํ๋ ์์ํฌ๋ ํ๋ ์์ํฌ๋ก์จ ๋ผ์ดํ์ฌ์ดํด ์์์ ๊ฐ๋ฐ์๊ฐ ํน์ ๋ถ๋ถ๋ง ๊ฐ๋ฐ์ ํ๋ฉด ์ ๋์์ ํ๊ฒ ๋๋ค. ํด๋น ๋ผ์ดํ์ฌ์ดํด์ ํฌํจ์ด ๋์ด์๋ ๊ณผ์ ์ ์คํ๋ง ์๋ฒ๊ฐ ๋ฐ ๋ IoC์ปจํ ์ด๋๊ฐ ์ฌ๋ผ๊ฐ๋ฉฐ, ํด๋น ์ปจํ ์ด๋ ๋ด๋ถ์ ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ธฐ์ฌํด๋์ ๊ฐ์ฒด Bean๋ค์ ๋ฑ๋ก์ ํ๋ ๊ณผ์ ์ด ํฌํจ์ด ๋์ด์๋ค. Bean์ผ๋ก ๋ฑ๋ก์ ํ ๋ค ๋ค์ ๊ณผ์ ์ผ๋ก๋ ์ ๋ํ ์ด์ ์ ํ์ฉํ์ฌ ํด๋น Bean ๊ฐ์ฒด๋ฅผ ์ฃผ์ ์ ํด์ฃผ๊ฒ ๋๋ค. ์ด๊ฒ ์คํ๋ง ์๋ฒ๊ฐ ๋ฐ ๋ ์ด๊ธฐํ๋ฅผ ํ๋ ๊ณผ์ ์ด๋ค.
ํด๋น ๊ณผ์ ์ ๋ด๋ถ์ ์ฝ๋๋ก ์ง์ ๊ตฌํ์ด ๋ค ๋์ด์๋ค. ์ด๊ฒ ์คํ๋ง ๋ผ์ดํ์ฌ์ดํด์ด๋ค.
์ฐธ์กฐ ( Spring ๊ณต์ ๋ฌธ์ )
https://docs.spring.io/spring-framework/reference/core/beans/basics.html
Container Overview :: Spring Framework
As the preceding diagram shows, the Spring IoC container consumes a form of configuration metadata. This configuration metadata represents how you, as an application developer, tell the Spring container to instantiate, configure, and assemble the component
docs.spring.io
'๐ณSpring > ๐ฑSpring Framework' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Framework] @RestController & @Controller ์ฐจ์ด (0) | 2025.05.12 |
---|---|
[Spring Framework] DispatcherServle (0) | 2025.05.12 |
[Spring Framework] IoC ์ปจํ ์ด๋ & Bean ๊ฐ๋ ์ดํด ํ๊ธฐ (1) | 2024.10.21 |
[Spring Framework] IoC & DI ๊ฐ๋ ์ดํด ํ๊ธฐ (0) | 2024.10.20 |
[Spring Framework] Spring & Spring Framework ์ฐจ์ด (0) | 2024.10.19 |