Выражение Spring.NET, которое ссылается на определение объекта

StackOverflow https://stackoverflow.com/questions/1406925

Вопрос

Я пытаюсь сослаться на другой объект, который я определил в конфигурационном файле Spring, из выражения. В частности, я пытаюсь заполнить свойство значением выражения, в котором я вызываю метод, а затем свойством объекта, возвращенного этим методом.
Я пробовал следующее (имена были изменены):

<property name="NullableIntProperty"
          expression="#{Some.Object.Id}.Get().NullableIntValue"/>

где Some.Object.Id - это ссылка на другой объект, который я определил в файле конфигурации, например:

<object id="Some.Object.Id" ... >

, но мое приложение не запускается из-за исключения , ожидающего " COLON " ;, найдено '}' . Я думаю, что он ожидает пространство имен, но я не нахожу документацию для этого.

Я пробовал несколько вещей, но везде я зашел в тупик. Первоначально я попытался использовать комбинацию MethodInvokingFactoryObject и PropertyRetrievingFactoryObject , которую мы используем в других местах для типов, не допускающих значения NULL, но это не удается для значений NULL, которые на самом деле являются NULL , поскольку Spring видит фабрику объектов, возвращающую null как сбой (как это обычно бывает).

Это было полезно?

Решение

Вы можете использовать синтаксис выражения @ (object-id-here) для получить объект из контекста Spring, используя выражение :

<property name="NullableIntProperty"
          expression="@(Some.Object.Id).PropertyOnSomeObject"/>

Другие советы

Изменение # на $ должно исправить это, я считаю.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top