μ΄ μ₯μ λλΆλΆμ μμ λ XMLμ μ¬μ©νμ¬ Spring 컨ν
μ΄λ λ΄μ
κ° BeanDefinitionμ μμ±νλ κ΅¬μ± λ©ν λ°μ΄ν°λ₯Ό μ§μ ν©λλ€.
μ΄μ μΉμ
(annotation κΈ°λ° μ»¨ν
μ΄λ ꡬμ±)μμλ μμ€ λ 벨 annotationμ ν΅ν΄
λ§μ κ΅¬μ± λ©ν λ°μ΄ν°λ₯Ό μ 곡νλ λ°©λ²μ 보μ¬μ€λλ€.
κ·Έλ¬λ μ΄λ¬ν μμ μμλ "base"bean μ μλ XML νμΌμ λͺ
μ μ μΌλ‘ μ μλμ§λ§
annotationμ μ’
μμ± μ£Όμ
μ μ λν©λλ€.
μ΄ μ μμλ classpathλ₯Ό μ€μΊνμ¬ ν보(Candidate) κ΅¬μ± μμλ₯Ό λ΄μ¬μ μΌλ‘ κ°μ§νλ μ΅μ μ λν΄ μ€λͺ ν©λλ€.
ν보(Candidate) μ»΄ν¬λνΈλ νν° κΈ°μ€κ³Ό μΌμΉνκ³ ν΄λΉ bean μ μκ° μ»¨ν
μ΄λμ λ±λ‘ λ ν΄λμ€μ
λλ€.
λ°λΌμ Bean λ±λ‘μ μννκΈ° μν΄ XMLμ μ¬μ©ν νμκ° μμ΅λλ€.
λμ μ΄λ
Έν
μ΄μ
(μ : @Component), AspectJ μ ν ννμ(expressions) λλ μ¬μ©μ μ μ νν° κΈ°μ€μ μ¬μ©νμ¬
컨ν
μ΄λμ λ±λ‘ λ bean μ μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό μ νν μ μμ΅λλ€.
Spring 3.0λΆν°λ Spring JavaConfig νλ‘μ νΈκ° μ 곡νλ λ§μ κΈ°λ₯λ€μ΄ ν΅μ¬ Spring νλ μ μν¬μ μΌλΆμ΄λ€.
μ΄λ₯Ό ν΅ν΄ μ ν΅μ μΈ XML νμΌμ μ¬μ©νλ λμ Javaλ₯Ό μ¬μ©νμ¬ Beanμ μ μ ν μ μμ΅λλ€.
μ΄λ¬ν μλ‘μ΄ κΈ°λ₯μ μ¬μ©νλ λ°©λ²μ λν μμ λ
@Configuration, @Bean, @Import λ° @DependsOn μ£Όμμ μ΄ν΄λ³΄μμμ€.