Java bean中的Spring构造函数注入。它不再是豆子了吗?
我正在学习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;
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不是一回事,不管它们的后缀是什么。