2

我正在尝试从表达式中引用我在 Spring 配置文件中定义的另一个对象。具体来说,我正在尝试使用调用方法的表达式的值填充属性,然后填充从该方法返回的对象的属性。
我尝试了以下方法(名称已更改):

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

我在配置文件中定义的另一个对象的引用在哪里,Some.Object.Id例如:

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

但我的应用程序无法以解析异常开始expecting "COLON", found '}'。我认为它需要一个命名空间,但我没有找到这方面的文档。

我已经尝试了几件事,但到处都遇到了死胡同。我最初尝试了我们在其他地方用于不可为空类型的MethodInvokingFactoryObject和的组合,但是对于实际上是因为 Spring 将对象工厂视为失败(通常是这样)返回的可空类型,这会失败。PropertyRetrievingFactoryObjectnullnull

4

2 回答 2

3

您可以使用@(object-id-here)表达式语法使用表达式从 Spring 上下文中检索对象

<property name="NullableIntProperty"
          expression="@(Some.Object.Id).PropertyOnSomeObject"/>
于 2011-07-20T13:12:20.120 回答
0

我相信将 # 更改为 $ 应该可以解决它。

于 2009-09-12T08:04:55.070 回答