Skip to content

Latest commit

Β 

History

History
24 lines (17 loc) Β· 1.65 KB

readme.md

File metadata and controls

24 lines (17 loc) Β· 1.65 KB

1.10. Classpath scanning and managed components (Classpath 검색 및 κ΄€λ¦¬λ˜λŠ” ꡬ성 μš”μ†Œ)

이 μž₯의 λŒ€λΆ€λΆ„μ˜ μ˜ˆμ œλŠ” 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 주석을 μ‚΄νŽ΄λ³΄μ‹­μ‹œμ˜€.