์ปดํฌ๋ํธ ์ค์บ ์ฃผ์ ๊ธฐ๋ฅ
- ์ค์บ ์์น ์ค์
- @Configuration ์ผ๋ก ๋ฑ๋ก๋ ํด๋์ค์ ํจํค์ง ๋ด์์๋ง ๋น์ ์ฐพ์์ ๋ฑ๋กํ๋ค.
@SpringBootApplication
@SpringBootAplication๋ auto-configuration์ ๋ด๋นํ๋ค. application class์์ extra configuration์ ์ ์ํ๊ฑฐ๋ component scan์ ํด์ค๋ค.
@SpringBootApplication ํ๋๋ง์ผ๋ก @EnableAutoConfiguration,@ComponentScan,@Configuration์ธ ๊ฐ์ง Annotation์ ์ฌ์ฉํ ๊ฒ๊ณผ ๊ฐ์ ๋์์ ํ ์ ์๋ค.
- ํํฐ : ์ด๋ค ์ ๋ ธํ ์ด์ ์ ์ค์บ ํ ์ง ๋๋ ํ์ง ์์์ง
@Component
- @Repository
- @Service
- @Controller
- @Configuration
class ์๋จ์ @Component , @Repository , @Service , @Controller ์ด๋ ธํ ์ด์ ์ด ๋ถ์ผ๋ฉด ์๋์ผ๋ก
IoC ์ปจํ ์ด๋์ Bean์ผ๋ก ๋ฑ๋ก์ด ๋๋ค.
์ปดํฌ๋ํธ ๊ณ์ด ์ด๋ ธํ ์ด์ : ๊ธฐ๋ณธ ์คํ ๋ ์คํ์ ์ด๋ ธํ ์ด์ . ์ด ์ด๋ ธํ ์ด์ ๋ค์ ๋ถ์ธ ํด๋์ค๋ ๋น ๊ฐ์ฒด๊ฐ ๋๋ค. ํด๋์ค์ ๋ถ์ฌ์ ํด๋น ํด๋์ค๊ฐ ์ปดํฌ๋ํธ ์ค์บ๋์ ๋์์ด๊ณ , ์คํ๋ง์ ์ํด์ ๊ด๋ฆฌ๋ ๊ฒ์์ ํ์ํ๋ค. ์ฆ <bean> XML ์ค์ ํ์ผ์์ <bean>์ผ๋ก ์ ์ธํ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ธ๋ค. |
๋์ ์๋ฆฌ
- @ComponentScan์ ์ค์บํ ํจํค์ง์ ์ ๋ ธํ ์ด์ ์ ๋ํ ์ ๋ณด
- ์ค์ ์ค์บ๋์ ConfigurationClassPostProcessor๋ผ๋ BeanFactoryPostProcessor์ ์ํด ์ฒ๋ฆฌ ๋จ.
ํ์ ์ ์ฌ์ฉํ ๋น ๋ฑ๋ก
์ฑ๋ฅ์์ ์ด์ ์ด ์๋ค. ์ฌ๊ธฐ์ ์ฑ๋ฅ์ด๋? ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ์.
ํ์ง๋ง, ์ฑ๋ฅ์ด ์ข๋ค๊ณ ํด์ ์ปดํฌ๋ํธ ์ค์บ์ ๋ฒ๋ฆฌ๊ณ ์ฌ์ฉํ๋ ๊ฒ์ ๋ฐ๋.
(์์ง ์ดํด ๋ชปํด์ ๋ชป์ฌ๋ฆผ.....ใ )