предположить, у меня есть этот классПолучить боб с конкретными аргументами конструктору весной
public Student{
private String name;
private Address address;
public Student(String fName, Address address){
name = fname;
this.address = address;
}
я определил этот класс в конфигурации Spring, как
<bean name="studentInstance" class="StackOverFlow.Student"/>
теперь я хотел бы использовать getBean с параметром I перейдет к конструктору. , равный Student s = new Student(name,address)
Я знаю, что Spring поставляет metond getBean (class_name, parms ....) Однако я не знаю, как настроить конфигурационный файл Spring.xml. Я хотел бы избежать использования Setter и getter, чтобы заполнить новый bean-компонент.
Я нашел много примеров того, как определить </constructor-arg>
внутри xml, но каждый раз, когда он был со значениями по умолчанию. здесь я позволяю пользователю вводить разные значения для каждого объекта. Я хотел бы использовать ApplicationContext context = new ClassPathXmlApplicationContext(Spring.xml file path); Student s= (Student)context.getBean("studentInstance",name,address);
мне нужна помощь с файлом конфигурации только
Заранее спасибо !!
Я уже проверил эти ссылки: Link1Link2Link3Link4
~~~~~ Edit ~~~~~~~
Решено! конструктор-инъекция здесь не требуется. Я просто добавил область прототипа в свой компонент, как показано ниже.
<bean name="carInstance" class="MainApp.bl.GasStation.Car" scope="prototype"/>
Сторона примечания, Spring создает Singleton из бобов по умолчанию. Если вам нужно больше экземпляров, сначала вам нужно будет объявить свой bean-прототип в качестве прототипа. – John
Ничего себе !! Я просто добавил scope = "prototype" в свой bean-компонент, и все работало как магия !!! Почему это нигде не упоминается или не отображается! tnx brother! – Tamir1989
Если это вам помогло, вы можете принять ответ, нажав на серый флажок :) – John