2016-10-15 7 views
0

Это может быть очень простой вопрос; но поскольку я новичок в Spring, я не могу понять, как назначать значения Spring beans во время выполнения.Добавление значений свойств в весенние бобы во время выполнения

Я следил за учебниками по изучению Весны, и теперь я знаю, как начать работу с Spring. Я могу понять Spring beans.xml, где объявлено определение bean, я могу понять некоторые аннотации, которые можно использовать вместо xml-конфигураций. Но я не могу понять, как сделать следующую конфигурацию.

Предположим, у меня есть класс под названием Студент. Каждый объект-ученик имеет имя и возраст.

public class Student { 
    private String name; 
    private int age; 

    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
    public int getAge() { 
     return age; 
    } 
    public void setAge(int age) { 
     this.address = address; 
    } 

} 

Это, как я буду писать запись в файле конфигурации Beans.xml для боба

<bean id="student" class="Student"> 
    <property name="name" value="Joe"></property> 
    <property name="address" value="12"></property> 
</bean> 

Я совершенно нормально с этой инъекции сеттера. Насколько я могу изменить значения свойств, используя xml-файл, я могу изменить свойства ученика.

Но давайте подумаем, что нам нужно приложение для регистрации студентов. Используя форму приложения, мы вводим имя и возраст. Мой вопрос заключается в том, как мы можем вставлять эти значения имени и возраста в компонент Student. Теперь мы имеем дело с запущенным приложением.

Я не могу понять, как мы должны изменить xml, чтобы принимать пользовательские входы (если это способ сделать). Во всех начинающих учебниках я следил, я не нашел способ справиться с такими ситуациями. То, чему они учат, это то, что я уже знаю.

Я думаю, что упущен какой-то урок на этом. Пожалуйста, помогите мне решить мою проблему. Некоторый пример кода будет очень полезен для понимания, если это возможно.

спасибо ..!

ответ

2

Вы не найдете учебник для своей проблемы, потому что ваш usecase не подходит для весны. На практике мы не используем весну для достижения того, что вы пытаетесь сделать. Spring лучше всего подходит для инъекций зависимостей классов с однопользовательским поведением, например, для классов обслуживания, для которых вам обычно потребуется один экземпляр в вашем приложении.

Обычно мы используем ORM как спящий режим для используемого варианта, к которому вы прибегаете.

2

Фасоль не подходит для объектов Value, поэтому ваш подход не работает.

Фасоль - это экземпляры классов, которые будут иметь длительный срок службы во время выполнения вашей программы, они управляются весной. Сюда входят экземпляры классов, которые предоставляют бизнес-логику или классы, которые предоставляют функциональные возможности программы, такие как соединения с базой данных или сервер сокетов.

Значения Объекты - это неработающие экземпляры объектов данных, которые используются вашим приложением, что, по-видимому, представляет собой класс ученика. Они управляются вашим программным кодом.

+0

Я думаю, что «ученик» - это не объект ценности, а объект, но согласитесь с этим, вы хорошо объяснили это. – Ralph

+0

Спасибо @Ralph, вы, вероятно, правы. – Leon

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