Можете ли вы скопировать значения property или constructor-arg из объектов в Spring.ЧИСТЫЙ XML?
-
21-08-2019 - |
Вопрос
По-моему, я наткнулся на это пару месяцев назад, но сейчас мне трудно найти ответ.Возможно, кто-нибудь сможет просто указать мне на нужный раздел в Документация?
Используя Sprint.NET, я объединяю удаленные XML-файлы в единый контекст приложения, где объекты движка отделены от объектов бизнес-правил.Проблема в том, что некоторые бизнес-правила являются значениями, а не объектами, которые необходимы <property>
и <constructor-arg>
узлы в движке xml:
<object name="Engine">
<constructor-arg index="0" value="business rule" />
</object>
Либо ссылающийся на свойство другого объекта (использующий expression
атрибут вместо value
?) или, возможно, какой-нибудь специализированный список имен / значений (напримерВесенняя версия to <appsettings>
, что бы это ни было) сработало бы.
Решение
Нашел это!Начиная со страницы 41 PDF-файла Spring Framework (версия 1.2.0 M1) в главе "Контейнер IoC":
5.3.8.Установка ссылки с использованием элементов других объектов и классов.
В этом разделе подробно описываются те сценарии настройки, которые включают настройку свойств и аргументов конструктора с использованием членов других объектов и классов.Такой сценарий довольно распространен, особенно когда имеешь дело с устаревшими классами, которые вы не можете (или не будете) изменять, чтобы приспособиться к некоторым из соглашений Spring.NET...рассмотрим случай класса, у которого есть аргумент конструктора, который может быть вычислен только, скажем, с помощью базы данных. Методinvokingfactoryobject обрабатывает именно этот сценарий ...это позволит вам ввести результат вызова произвольного метода в конструктор (в качестве аргумента) или в качестве значения средства установки свойства.Аналогично, PropertyRetrievingFactoryObject и FieldRetrievingFactoryObject позволяют извлекать значения из свойства другого объекта или значения поля.Эти классы реализуют интерфейс IFactoryObject, который указывает на Spring.Продажи что это объект-это сам завод и заводы товара, не завод собственно, это то, что будет связано с идентификатором объекта.Заводские объекты обсуждаются далее в ???
Это пункт 5.3.9.1 в последняя онлайновая документация.