2013-06-29 4 views
2

아래 빈에 생성자 삽입을 시도하고 있는데 기본 생성자를 계속 찾을 수 없습니다. - 원인 : java.lang.NoSuchMethodException: my.package.MyBean.<init>().스프링 와이어 업 - 기본 생성자를 찾을 수 없습니다.

에 기본 생성자를 추가하면 오류가 사라지지만 분명히 이것은 내가 원하는 작업이 아닙니다.

내가 왜 xml 매핑이 내가 가진 생성자와 일치하지 않는지 이해하고 싶습니다.

나는이 질문이 이전에 어떤 형태로 질문되었지만 그 답 중 아무 것도 내 상황에 도움이되지 않는다는 것을 알고있다.

TIA. 유사 answere이 같은 문제에 대해 주어진되어

<bean id="mybean" class="my.package.MyBean"> 
    <constructor-arg> 
     <util:map> 
      <entry key="MANAGER1" value-ref="manager1" /> 
      <entry key="MANAGER2" value-ref="manager2" /> 
     </util:map> 
    </constructor-arg> 
</bean> 

<bean id="manager1".....</bean> 

<bean id="manager2".....</bean> 
+0

기본 생성자없이이 작업을 수행 할 수 있습니다. 하지만지도를 연결하지 않았으므로 이것이 생성자 인수에 대해 적절한 방법인지는 알 수 없습니다. – Thihara

답변

1

@Component 
@Scope("singleton") 
public class MyBean { 

    private Map<String, ResourceManager> rm; 

    public MyBean(final Map<String, ResourceManager> rm) { 
     this.rm = rm; 
    } 
... 
} 

XML, 당신은 같은 문제를 타격 할 수있다?

Does Spring require all beans to have a default constructor?

@Autowired 생성자를 표시

bean class instantiation in spring for a class without default constructor

보십시오.

+0

감사합니다. 실제로 실종 된 @Autowired였습니다! – user2533384

+0

이것은 내가 필요한만큼의 대답이었습니다. 제 경우에는 생성자에서 @Inject를 선택했습니다. –