문제 : 나는 콩으로 서비스를 주입하려고봄 주입 자원은 항상 null
하지만 서비스 인스턴스는 항상 null입니다.
배경 :
나는 두 콩 다른 호출을 가지고있다.
<context:annotation-config />
<bean class="com.test.MyBeanImpl" name="myBean"/>
<bean id="myService" class="com.test.MyServiceImpl" />
와 콩과 같이 구현됩니다 :
MyServiceImpl.java
class MyServiceImpl implements MyService {
public void getString() {
return "Hello World";
}
}
MyBeanImpl.java
@Component
class MyBeanImpl implements MyBean, SomeOtherBean1, SomeOtherBean2 {
@Resource(name="myBean")
private MyService myService;
public MyBeanImpl() {}
}
이 그들이 XML의 설정에서 정의하는 방법이다
질문 :
내 콩이 서비스를 주입하지 못하게하는 3 개의 인터페이스를 구현한다는 것과 관련된 몇 가지 이유가 있습니까? 그렇지 않은 경우 다른 요소가 영향을 미칠 수 있습니까?
당신이의 클래스 선언을 게시 할 수있는이 문제를 해결할 수는
희망으로 운영자 파일에
<context:component-scan />
요소 패키지의 이름을 언급 확인 클래스'MyService'와 전체 구성을 주입하려고합니까? –더 많은 정보가 포함되도록 OP를 업데이트했습니다. 기본적으로 MyService 인터페이스 또는 구현 클래스에는 주석이 없습니다. 건배 – travega
빈 설정 파일에' '가 포함되어 있지 않으면'@ Resource'가 작동하지 않는다고 생각합니다. 내가 게시 한 요지를보십시오. 나는 시험을했고 작동한다. 그것이 귀하의 필요를 충족시키지 못하면 귀하의 상황이 어떻게 다른지 알려주십시오. –