2009-05-11 3 views
1

Я новичок в Spring.net, и я пытаюсь создать список объектов <>. Список инициализируется цикл, который вызывает:.Создание новых объектов с помощью SPRING.Net

  • IObj OBJ = (IObj) ContextRegistry.GetContext() GetObject ("OBJ")

  • изменения свойств объекта ....

  • добавить его в список ...

проблема: я получаю один и тот же объект каждый шаг цикла так Я получаю список одного и того же объекта

ответ

3

Если ваши определения объектов не являются одиночными, тогда вы будете получать новый объект каждый раз. Обратите внимание, что по умолчанию singleton имеет значение true, поэтому вы должны явно установить его в false.

Например, если вы используете XML-файлы для настройки объектов, установите одноплодную атрибут ложь:

<object name="name" type="..." singleton="false"/> 
2

Это не ясно, что вы пытаетесь достичь с помощью цикла над «GetObject (» obj ")". Может быть, вы можете опубликовать код цикла?

Что такое «GetObject (« obj »)» - это спросить контейнер для объекта с именем «obj». Вы указали, что хотите изменить свойства объекта и добавить его в список. Это то, что контейнер может сделать для вас: Установить свойства объекта: http://www.springframework.net/doc-latest/reference/html/objects.html#objects-simple-values Создать список: http://www.springframework.net/doc-latest/reference/html/objects.html#objects-collections-values

Этот список может быть введен в объект, вы выбираете.

Если вы просто хотите, чтобы объекты, отличные от одиночных объектов вашего IObj, отвечали правильно. Весна называет эти неэлементные объекты «прототипами». Обзор доступных областей можно найти здесь: http://www.springframework.net/doc-latest/reference/html/objects.html#objects-factory-scopes

+0

Хорошая точка. Конечным результатом может быть то, что может предоставить контейнер. Единственное предостережение здесь состояло в том, чтобы избежать осложнений, чем они должны быть. Иногда, только потому, что контейнер * может * что-то делать, не означает, что вы должны его использовать. Может быть, проще сделать цикл + модифицировать + добавить в код, и только потому, что его код, а не Spring xml не делает его плохой. Но все это зависит от конечной цели - и теперь мне любопытно ... –

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