[SPRING] Spring에서 주어진 타입의 모든 의존성을 autowire하는 방법이 있습니까?
SPRINGSpring에서 주어진 타입의 모든 의존성을 autowire하는 방법이 있습니까?
주어진 클래스에 대해 주석 기반 배선 (즉, @Configurable (autowire = Autowire.BY_TYPE))을 사용하고 있으며 주어진 유형의 모든 빈을 목록으로 연결하고 싶습니다.
응용 프로그램 컨텍스트 :
<beans>
<bean class="com.my.class.FirstConfigurer"/>
<bean class="com.my.class.SecondConfigurer"/>
</beans>
autowire 할 클래스 :
@Configurable(autowire=Autowire.BY_TYPE) public class Target {
...
public void setConfigurers(List<Configurer> configurers) { ... }
}
모든 종속성은 Configurer라는 공통 인터페이스를 구현합니다.
이 작업을 통해 컬렉션의 모든 종속성을 컬렉션에 묶고 필요한 곳에 삽입하거나 XML 또는 기타 를 정의해야합니까?
해결법
-
==============================
1.예,
예,
@Inject private List<Configurer> configurers;
작동하고 인터페이스를 구현하는 모든 bean 목록을 얻습니다. (여러 변형 - @Inject 또는 @Autowired, 필드, 설정자 또는 생성자 주입 - 모든 작업)
-
==============================
2.이것은 작동해야합니다 :
이것은 작동해야합니다 :
@Configurable(autowire=Autowire.BY_TYPE) public class Target { @Autowired public void setConfigurers(List<Configurer> configurers) { ... } }
이것은 Spring 매뉴얼의 3.9.2 절에 설명되어있다.
from https://stackoverflow.com/questions/7083308/is-there-a-way-in-spring-to-autowire-all-dependencies-of-a-given-type by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 보안에서 계층 적 역할 구현하기 (0) | 2019.03.29 |
---|---|
[SPRING] Spring Boot @WebIntegrationTest 및 TestRestTemplate - 테스트 트랜잭션을 롤백 할 수 있습니까? (0) | 2019.03.29 |
[SPRING] 스프링 빈을 다시 초기화하는 방법은? (0) | 2019.03.29 |
[SPRING] Spring의 CachingConnectionFactory를 사용할 때 세션 닫기 (0) | 2019.03.29 |
[SPRING] Spring 보안 3.0.2로 OpenId 인증 및 자동 등록 (0) | 2019.03.29 |