Можете ли вы скопировать значения свойств или аргументов конструктора из объектов в Spring.NET XML? - PullRequest
1 голос
/ 10 декабря 2008

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

Используя Sprint.NET , я объединяю удаленные XML-файлы в единый контекст приложения, где объекты механизма отделены от объектов бизнес-правил. Проблема в том, что некоторые бизнес-правила представляют собой значения, а не объекты, которые необходимы узлам <property> и <constructor-arg> в движке xml:

<object name="Engine">
    <constructor-arg index="0" value="business rule" />
</object>

Либо ссылка на свойство другого объекта (используйте атрибут expression вместо value?), Либо, возможно, какой-то специализированный список имен / значений (например, версия Spring для <appsettings>, что бы это ни было) будет работать. *

1 Ответ

0 голосов
/ 11 декабря 2008

Нашли это! Начиная со страницы 41 документа Spring Framework (версия 1.2.0 M1) в главе «Контейнер IoC»:

5.3.8. Установка ссылки с использованием членов других объектов и классов.

В этом разделе подробно сценарии конфигурации, которые включают в себя настройка свойств и аргументы конструктора, использующие члены других объектов и классов. Этот вид сценария довольно распространен, особенно когда имеешь дело с наследием классы, которые вы не можете (или не будете) изменить, чтобы приспособить некоторые из Соглашения Spring.NET ... рассмотреть случай класса, который имеет аргумент конструктора, который может быть только рассчитывается, скажем, база данных. MethodInvokingFactoryObject обрабатывает именно этот сценарий ... это будет позволяют вам ввести результат произвольный вызов метода в конструктор (как аргумент) или как значение установщика свойства. Так же, PropertyRetrievingFactoryObject и FieldRetrievingFactoryObject позволит вам извлечь значения из другого свойство объекта или значение поля. Эти классы реализуют Интерфейс IFactoryObject, который указывает Spring.NET, что это объект сам по себе фабрика и продукт фабрики, а не фабрика сам, это то, что будет связано с идентификатором объекта. Заводские объекты обсуждаются далее в ???

Это 5.3.9.1 в последней онлайн-документации .

...