2015-04-04 3 views
0

У меня есть класс A, который собирается инициализировать новый объект класса B. Этот новый экземпляр класса B имеет некоторый DAO. Я хочу сделать инъекцию зависимостей DAO и предоставить свои пользовательские атрибуты и построить объект и получить результат. Тем не менее, я получаюВпрыск зависимостей Spring с шаблоном построителя

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; 
    } 

} 

Я использую инъекции весны зависимостей, чтобы ввести только DAO.

<bean id="b" class="com.company.B"> 
    <property name="personDAO" ref="personDAO"/> 
</bean> 

Во-первых, я хочу создать новый объект каждый раз, когда Thats форма А почему я делаю new в классе А. Может ли кто-нибудь сказать мне, как это сделать весной? Как использовать инъекцию зависимостей с шаблоном построителя для такого сценария?

ответ

1

Я получаю Нет конструктора по умолчанию; вложенное исключение java.lang.NoSuchMethodException

из конструктора по умолчанию без аргументов, не доступных в классе B.

Я хочу, чтобы создать новый объект каждый раз, когда форма А вот почему Я делает новый в классе А.

выбрать прототип фасоли сферы весной bean scopes.

Смежные вопросы