Выражение Spring.NET, которое ссылается на определение объекта - PullRequest
2 голосов
/ 10 сентября 2009

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

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

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

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

<property name="NullableIntProperty"
          expression="@(Some.Object.Id).PropertyOnSomeObject"/>
0 голосов
/ 12 сентября 2009

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

...