我有一个A类,它将初始化一个B类的新对象。这个B类的新实例有一些DAO。我想做DAO的依赖注入并提供我的自定义属性并构建一个对象并获得结果。但是,我得到了No default constructor found; nested exception is java.lang.NoSuchMethodException
public class A {
public void setChildren() {
B b = new B.Builder().children(3).build();
}
}
class B {
private PersonDAO personDAO;
private final int children;
private B(Builder buil) {
this.children = buil.children;
}
public static class Builder {
private int children;
public Builder children(int ch) {
this.children = ch;
return this;
}
public Builder build() {
return new B(this);
}
}
public void setPersonDao(PersonDao personDao) {
this.personDao = personDao;
}
}
我正在使用spring依赖注入来注入DAO。
<bean id="b" class="com.company.B">
<property name="personDAO" ref="personDAO"/>
</bean>
首先,我想每次创建一个新对象形式A这就是为什么我在A类中做new
。有谁能告诉我如何在春天这样做?如何将依赖注入与构建器模式一起用于此类场景?
答案 0 :(得分:1)
我没有找到默认构造函数;嵌套异常是 java.lang.NoSuchMethodException
因为B类中没有no-arg默认构造函数。
我想每次创建一个新对象形式,这就是我的原因 在A班做新事。
选择spring bean scopes的原型bean范围。