1. Autowiring Collaborators
Autowiring
- 빈들 사이의 의존성을 자동으로 연결하는 기능입니다.
- ApplicationContext 내에서 빈들의 종속성을 자동으로 매칭하여 연결해 줍니다.
장점
구성의 간소화
- 직접적으로 프로퍼티나 생성자 인수를 명시적으로 지정할 필요가 줄어듭니다.
동적인 구성 업데이트
- 필요한 의존성이 추가시, 구성을 수정할 필요 없이 자동으로 해당 의존성이 적용됩니다.
- 코드베이스가 안정적이지 않은 개발 초기 단계에서 특히 유용할 수 있습니다.
- 코드베이스가 안정화되면 명시적인 와이어링으로 전환하는 옵션도 있습니다.
XML 기반 구성에서의 자동와이어링
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="book" class="com.example.Book" />
<bean id="library" class="com.example.Library" autowire="byName" />
<bean id="library" class="com.example.Library" autowire="byType" />
<bean id="library" class="com.example.Library" autowire="constructor" />
</beans>
(default) no
- 자동와이어링이 발생하지 않습니다.
byName
- 프로퍼티 이름을 기반으로 자동와이어링 합니다.
byType
- 프로퍼티 타입과 일치하는 빈이 존재하면 자동와이어링 합니다.
constructor
- 생성자를 기반으로 한 자동와이어링 입니다.
- byType과 유사하지만 생성자에 적용됩니다.
'Spring > Spring' 카테고리의 다른 글
[Spring][Core] 2-8. Bean: Customizing the Nature of a Bean (0) | 2023.10.14 |
---|---|
[Spring][Core] 2-7. Bean: Lazy-initialized Beans (0) | 2023.10.14 |
[Spring][Core] 2-5. Bean: Dependency Injection (0) | 2023.10.14 |
[Spring][Core] 2-4. Bean: Bean Scopes (0) | 2023.10.14 |
[Spring][Core] 2-3. Bean: Naming Beans (0) | 2023.10.14 |