Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring wire up-未找到默认构造函数_Java_Spring_Code Injection_Default Constructor - Fatal编程技术网

Java Spring wire up-未找到默认构造函数

Java Spring wire up-未找到默认构造函数,java,spring,code-injection,default-constructor,Java,Spring,Code Injection,Default Constructor,我正在尝试将构造函数注入到下面的bean中,我一直得到默认的构造函数未找到错误,原因是:java.lang.NoSuchMethodException:my.package.MyBean。() 如果在中添加默认构造函数,错误就会消失,但显然这不是我想要做的 我想理解为什么简单的xml映射与我拥有的构造函数不匹配 我知道以前有人以某种形式问过这个问题,但这些答案对我的处境都没有帮助 TIA. @Component @Scope("singleton") public class MyBean {

我正在尝试将构造函数注入到下面的bean中,我一直得到默认的构造函数未找到错误,原因是:
java.lang.NoSuchMethodException:my.package.MyBean。(

如果在中添加默认构造函数,错误就会消失,但显然这不是我想要做的

我想理解为什么简单的
xml
映射与我拥有的构造函数不匹配

我知道以前有人以某种形式问过这个问题,但这些答案对我的处境都没有帮助

TIA.

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

    private Map<String, ResourceManager> rm;

    public MyBean(final Map<String, ResourceManager> rm) {
        this.rm = rm;
    }
...
}
@组件
@范围(“单例”)
公共类MyBean{
私人地图室;
公共MyBean(最终地图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>


对于同一个问题也给出了类似的回答,可能是您遇到了同一个问题


尝试将构造函数标记为@Autowired。

您可以在没有默认构造函数的情况下进行此操作。但是我还没有连接映射,所以我不知道对于构造函数参数来说这是否是正确的方法。谢谢,实际上是@Autowired丢失了!这也是我需要的答案。虽然在我的例子中,我在构造函数上选择了@Inject。