可以说我有这样的课程:
public class A {
private B b;
public A() {
}
// Some code calling methods in b.
}
如何通过 XML 配置将 B 的实例注入 A 而不在 Spring 中添加参数化构造函数?
我可以同时拥有参数化构造函数和设置器吗?
public class A {
private B b;
public A(B b) {
this.b = b;
}
public void setB(B b) {
this.b = b;
}
// Some code calling methods in b.
}
编辑:感谢所有答案。我的实际问题是我有这样的课程:
公共类 A {
private B b;
public A(B b) {
this.b = b;
}
// Some code calling methods in b.
}
并且出于向后兼容性的原因,我希望在不删除参数化构造函数的情况下为上述类设置一个默认构造函数。
所以 ,
- 当我添加一个 bean 时,bean 是否会自动注入到默认构造函数中?或者我应该在 XML 文件中添加其他配置以将其注入其中?
- 如果我添加一个设置器,我应该在 XML 中进行哪些额外的配置更改以及如何进行?
考虑到我有一个如下的 xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="name"
class="A">
<constructor-arg ref="B" />
</bean>
</beans>