Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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 bean中的Spring构造函数注入。它不再是豆子了吗?_Java_Spring_Javabeans - Fatal编程技术网

Java bean中的Spring构造函数注入。它不再是豆子了吗?

Java bean中的Spring构造函数注入。它不再是豆子了吗?,java,spring,javabeans,Java,Spring,Javabeans,我正在学习spring框架,有一个非常基本的问题。我试图找到答案,但找不到,所以请容忍我。我在春天看到了下面这种接线(这就是它的名字) public class A { private B b; public A(B b) { this.b = b; } public B getB() { return b; } public void setB(B b) { this.b = b;

我正在学习spring框架,有一个非常基本的问题。我试图找到答案,但找不到,所以请容忍我。我在春天看到了下面这种接线(这就是它的名字)

public class A {

    private B b;

    public A(B b) {
        this.b = b;
    }

    public B getB() {
        return b;
    }

    public void setB(B b) {
        this.b = b;
    }
}


public class B {

    private String foo;

    public String getFoo() {
        return foo;
    }

    public void setFoo(String foo) {
        this.foo = foo;
    }
}
所以我知道这个自动连接是使用构造函数注入完成的。然后在
context.xml
中,我有以下内容

    <bean id="a" class="A" autowire="constructor">
    </bean>

    <bean id="b" class="B" >
        <property name="foo" value="foo1" />
    </bean>


(我正在使用注释而不是
context.xml
学习配置,但是在这里使用它,因为它似乎提供了一个更清晰的画面)。所以我的问题是,根据定义,一个bean应该只有args构造函数、getter和setter,难道不进行构造函数注入就取消了它成为bean的资格吗?我在这里遗漏了什么明显的东西?

Bean
是一个加载的术语。虽然JavaBean规范至少有一点需要无参数构造函数,但这并不意味着SpringBeansdo。

Bean配置不应该在web.xml中。它应该是spring配置xml@Keerthivasan对不起,那是我的错。我会更正它。请查看此链接。所以即使
JavaBean
也不一定再需要无参数构造函数了?谢谢你澄清了这个模棱两可的问题。我没有太多关注JavaBeans的最新发展,但是SpringBeans和JavaBeans不是一回事,不管它们的后缀是什么。