Last updated
Last updated
Component Scan(μ»΄ν¬λνΈ μ€μΊ)μ BeanμΌλ‘ λ±λ‘ν Componentλ₯Ό μ°Ύλ λμμ λ§νλ€.
@ComponentScan
μ΄λ
Έν
μ΄μ
μ @Component μ΄λ
Έν
μ΄μ
κ³Ό λ΄λΆμ μΌλ‘ @Component μ΄λ
Έν
μ΄μ
μ ν¬ν¨νλ μ΄λ
Έν
μ΄μ
(@Controller, @Service, Repository λ±)μ΄ μ¬μ©λ ν΄λμ€λ₯Ό μ°Ύμ BeanμΌλ‘ λ±λ‘νλ€.
μ»΄ν¬λνΈ μ€μΊμ ν΅ν΄ λΉμ λ±λ‘νκΈ° μν΄μλ @Configuration μ΄λ
Έν
μ΄μ
μ΄ μ μΈλ μ€μ νμΌμ @ComponentScan
μ΄λ
Έν
μ΄μ
μ μ μ©ν΄μΌ νλ€.
λΉμ μ΄λ¦μ λ³λλ‘ μ§μ νμ§ μμ κ²½μ° ν΄λμ€μ μ΄λ¦ 첫 κΈμλ₯Ό μλ¬Έμλ‘ λ°κΎΌ μ΄λ¦μ΄ λΉ μ΄λ¦μΌλ‘ μ¬μ©λλ€. (μμ ν΄λμ€λ‘λΆν° μμ±λ λΉμ μ΄λ¦μ myClassκ° λλ€.)
@Qualifier μ²λΌ @Component μ΄λ Έν μ΄μ μ μΈμλ‘ λΉμ μ΄λ¦μ μ€μ ν μ μλ€.
basePackages μ΅μ μ ν΅ν΄ μ€μΊν ν¨ν€μ§λ₯Ό μ§μ ν μ μλ€.
excludeFilters μ΅μ μ ν΅ν΄ μ€μΊμμ μ μΈν ν΄λμ€λ₯Ό μ§μ ν μ μλ€.
μ μΈν νμ μΌλ‘ μ κ·μ, AspectJ ν¨ν΄, μ΄λ Έν μ΄μ λ±μ μ¬μ©ν μ μλ€.
μ»΄ν¬λνΈ μ€μΊλ κ³Όμ μμ λμΌν μ΄λ¦μ κ°μ§ λΉμ΄ μ¬λ¬ κ° μ‘΄μ¬νκ±°λ, @Component μ΄λ
Έν
μ΄μ
μ μ μ©ν ν΄λμ€λ₯Ό @Configuration λ΄μμ λ€μ @BeanμΌλ‘ μ§μ νκ±°λ νλ©΄ λΉ λ±λ‘ μΆ©λ
μ΄ λ°μν μ μλ€. μ΄λ₯Ό μ μνμ¬ λΉμ λ±λ‘νμ¬μΌ νλ€.