以下の Bean にコンストラクター インジェクションを実行しようとしていますが、デフォルトのコンストラクターが見つからないというエラーが発生し続けます - 原因: java.lang.NoSuchMethodException: my.package.MyBean.<init>()
.
デフォルトのコンストラクターを追加すると、エラーはなくなりますが、明らかにこれは私がやりたいことではありません。
xml
単純なマッピングが私が持っているコンストラクターと一致しない理由を理解したいと思います。
この質問が以前に何らかの形で尋ねられたことは知っていますが、私の状況ではそれらの回答はどれも役に立ちません。
ティア。
@Component
@Scope("singleton")
public class MyBean {
private Map<String, ResourceManager> rm;
public MyBean(final Map<String, ResourceManager> rm) {
this.rm = rm;
}
...
}
XML
<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>