@Autowired
by bean은 유형별로 bean을 찾습니다. autowired annotation을 사용하여 생성자에 bean을 이름으로 삽입하는 방법은 무엇입니까? 동일한 유형의 2 개의 bean이 있지만 bean 이름을 기반으로 다른 동일한 클래스의 생성자에이를 주입해야합니다. 어떻게해야합니까?@Autowired by 생성자는 유형별로 빈을 찾습니다. autowired annotation을 사용하여 생성자에 이름으로 bean을 삽입하는 방법 생성자에 의한
XML :
<bean id="A" class="com.Check"/>
<bean id="B" class="com.Check"/>
자바 : 나는이 작업을 수행 할 때
Class C {
private Check check;
@Autowired
public C(Check check){
this.check = check
}
}
나는 동일한 유형 검사 2 콩을 가지고 있지만 그것은 단지 하나의 콩이있을 필요하다고 말해 예외가 그 유형의. 생성자 주입을 통해 id="B"
빈을이 클래스 C
에 어떻게 주입 할 수 있습니까?
내 applicationContext.xml
에서 나는 autowire="byType"
을 언급했습니다. 이 특정 클래스에서만 나머지 byName
을 autowire해야합니다. 나머지는 모두 autowired해야합니다. 유형 만 해당
아직 작동하지 않습니다. 제가 사용 @Autowired \t 공개 CheckDAO (@Qualifier ("위해 entityManager")의 EntityManagerFactory의 EntityManagerFactory) { \t \t \t \t 안에 entityManagerFactory.createEntityManager을 =(); \t \t} 메신저 예외. org.springframework.beans.factory.BeanCreationException : 'checkDAO'라는 이름으로 빈을 생성하는 중 오류가 발생했습니다 : 지속성 종속성을 주입하지 못했습니다. 중첩 예외는 org.springframework.beans.factory.NoSuchBeanDefinitionException : [javax.persistence.EntityManagerFactory] 유형의 한정된 bean이 정의되지 않았습니다 : 예상 된 단일 bean이지만 found 2 – user2972319
죄송합니다. – user2972319