나는 Spring 프레임 워크를 처음 접했고 다음 문제를 발견했습니다.
I have an interface ClassA
, 이것은 classed 에 의해 구현되었습니다. ] ClassA1
및 ClassA2
.
다음 빈 정의가 applicationContext.xml
<bean id="class1" class="com.abc.ClassA1" />
<bean id="class2" class="com.abc.ClassA2" />
아래와 같이 두 구현 클래스를 Autowire하고 싶습니다.
@Autowired
private ClassA1 classA1;
@Autowired
private ClassA2 classA2;
The 위의 코드는
필드에 자동 쓸 수 없습니다. com.abc.ClassA1 com.abc.SomeClass.classA1; 중첩 된 예외는 org.springframework.beans.factory.NoSuchBeanDefinitionException : 유형의 일치하는 Bean이 없습니다. [com.abc.ClassA1]
하지만 자동 배선을 아래와 같이 인터페이스로 변경하면 :
@Autowired
ClassA classA1;
그러면 ClassA1이 변수에 자동 배선됩니다. ClassA2에 변수를 자동 연결하는 방법에 대해 잘 모르겠습니다.