05. Component
Bean์ ๋ฐ๋ก ๋ฑ๋กํ์ง ์์๋ @Component ์ด๋ ธํ ์ด์ ์ ๋ถ์ด๋ฉด ์๋์ผ๋ก ๋ฑ๋ก๋๋ค.
ย ๐ฅ ์ค์ต์ ์ํ ์๋ณด์นด๋ ํด๋์ค ๐ฅ
Component ์ด๋ ธํ ์ด์ ์ ํด๋์ค์ ๋ถ์ธ๋ค.
1๏ธโฃ ย XML ํ์ผ์์์ ์ฌ์ฉ๋ฒ
context:component-scan ํ๊ทธ๋ก base-package ์์ ์ ๋ ฅํ ํจํค์ง๋ฅผ ์ค์บํ์ฌ ์ด๋ ธํ ์ด์ ์ ๋ถ์ํ๋ค.
์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ง ์๋ ํด๋์ค๋ค์ ์ง์ Bean ์ ๋ฑ๋กํด์ผ ํ๋ค.
์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ค ํ๋๋ผ๋ xml ํ์ผ์์ Bean ์ ๋ฑ๋กํ ์ ์๋ค.
<context:component-scan base-package="beans" />
2๏ธโฃ ย JAVA ํ์ผ์์์ ์ฌ์ฉ๋ฒ
Configuration ํ์ผ์์ @ComponentScan ์ด๋ ธํ ์ด์ ๊ณผ ํจํค์ง๋ช ์ ์ ์ด๋ฃ์ผ๋ฉด ๋์ํ๋ค.
basePackages ์ ์ ํ ํจํค์ง๋ช ์ ์ค์บํ์ฌ ์ปดํฌ๋ํธ๋ฅผ ๋์์ํจ๋ค.
@Configuration
@ComponentScan(basePackages = "beans")
public class BeanClass {
...
}
- @Component ์ด๋ ธํ ์ด์ ์ ์ ์ด๋ฃ์ ํด๋์ค๋ง ๋ณ๋์ Bean ๋ฑ๋ก ์์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
@Component
@Lazy
public class Avocado {
...
}