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 {
...
}