반응형
봄 — 같은 종류의 콩 2 개 주입
나는 주입 된 필드를 만들 수 있기 때문에 생성자 기반 주입을 좋아합니다 final. 또한 주석 기반 주입을 좋아 context.xml합니다. 생성자를 표시 할 수 @Autowired있으며 동일한 유형의 두 매개 변수가없는 한 모든 것이 잘 작동합니다. 예를 들어, 클래스가 있습니다.
@Component
public class SomeClass {
@Autowired(required=true)
public SomeClass(OtherClass bean1, OtherClass bean2) {
…
}
}
및 다음을 사용하는 애플리케이션 컨텍스트 :
<bean id="bean1" class="OtherClass" />
<bean id="bean2" class="OtherClass" />
클래스 생성자에 빈 ID를 지정하는 방법이 있어야 SomeClass하지만 문서에서 찾을 수 없습니다. 가능합니까, 아니면 아직 존재하지 않는 해결책을 꿈꾸고 있습니까?
@Autowired유형별입니다 (이 경우). spring docs@Qualifier 의 예제에 따라 이름으로 autowire하는 데 사용하십시오 .
public SomeClass(
@Qualifier("bean1") OtherClass bean1,
@Qualifier("bean2") OtherClass bean2) {
...
}
참고 : 필드, 생성자 및 다중 인수 메서드에 적용 할 수있는 @Autowired (매개 변수 수준에서 한정자 주석을 통해 범위를 좁힐 수 있음)와 달리 @Resource는 단일 인수가있는 필드 및 빈 속성 setter 메서드에 대해서만 지원됩니다. 결과적으로 주입 대상이 생성자 또는 다중 인수 메서드 인 경우 한정자를 사용하십시오.
(그 텍스트 아래는 전체 예입니다)
참고 URL : https://stackoverflow.com/questions/2153657/spring-inject-2-beans-of-same-type
반응형
'Program Club' 카테고리의 다른 글
| SQL 쿼리에 대한 기본 스키마 설정 (0) | 2020.12.09 |
|---|---|
| 사용 가능한 backbone.js 책이 있습니까? (0) | 2020.12.09 |
| 듀얼 모니터에서 IntelliJ를 어떻게 설정합니까? (0) | 2020.12.08 |
| Linux 쉘 스크립트에서 정규식을 사용하여 파일을 검색하는 방법 (0) | 2020.12.08 |
| 누구든지 nodejs를 사용하여 git 복제 또는 인터페이스 라이브러리를 구현 했습니까? (0) | 2020.12.08 |