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

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

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

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

但我的应用程序无法启动解析异常期待“COLON”,找到'}'。我认为它期待一个命名空间,但我找不到这个文档。

我尝试了几件事,但到处都是我死路一条。我最初尝试了 MethodInvokingFactoryObject PropertyRetrievingFactoryObject 的组合,我们在其他地方用于非可空类型,但是对于实际上 null 代码>因为Spring看到一个对象工厂将 null 作为失败返回(通常是这样)。

有帮助吗?

解决方案

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

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

其他提示

将#改为$应该修复它,我相信。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top