@Component vs @Configuration
@Bean @Configuration
์๋์ผ๋ก ์คํ๋ง ์ปจํ ์ด๋์ ๋น์ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ
๊ฐ๋ฐ์๊ฐ ์ง์ ์ ์ด๊ฐ ๋ถ๊ฐ๋ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋น์ผ๋ก ๋ฑ๋กํ ๋ ๋ถ๊ฐํผํ๊ฒ ์ฌ์ฉ
์ ์ง๋ณด์์ฑ์ ๋์ด๊ธฐ ์ํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฒ์์ ์ผ๋ก ์ฌ์ฉ๋๋ ํด๋์ค๋ ๋คํ์ฑ์ ํ์ฉํ์ฌ ์ฌ๋ฌ ๊ตฌํ์ฒด๋ฅผ ๋น์ผ๋ก ๋ฑ๋ก ํ ๋ ์ฌ์ฉ
1๊ฐ ์ด์์ @Bean์ ์ ๊ณตํ๋ ํด๋์ค์ ๊ฒฝ์ฐ ๋ฐ๋์ @Configuration์ ๋ช ์ํด ์ฃผ์ด์ผ ์ฑ๊ธํค์ด ๋ณด์ฅ๋จ
@Component
์๋์ผ๋ก ์คํ๋ง ์ปจํ ์ด๋์ ๋น์ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ
์คํ๋ง์ ์ปดํฌ๋ํธ ์ค์บ ๊ธฐ๋ฅ์ด @Component ์ด๋ ธํ ์ด์ ์ด ์๋ ํด๋์ค๋ฅผ ์๋์ผ๋ก ์ฐพ์์ ๋น์ผ๋ก ๋ฑ๋กํจ
๋๋ถ๋ถ์ ๊ฒฝ์ฐ @Component๋ฅผ ์ด์ฉํ ์๋ ๋ฑ๋ก ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์
@Component ํ์ ์ด๋ ธํ ์ด์ ์ผ๋ก @Configuration, @Controller, @Service, @Repository ๋ฑ์ด ์์
@Configuration ์์ @Bean์ ์ฌ์ฉํด์ผ ํ๋ ์ด์
@Configuration๊ฐ ์ ์ธ๋ ํด๋์ค ์์ Bean์ ์คํ๋ง ์ปจํ ์ด๋์์ ๊ด๋ฆฌ๋ฉ๋๋ค.
์ฆ CGLib์ผ๋ก ํ๋ก์ ํจํด์ ์ ์ฉ๋๋ฉฐ ์ฑ๊ธํค์ ๋ณด์ฅํฉ๋๋ค.
Last updated