我正在尝试从表达式中引用我在Spring配置文件中定义的另一个对象。具体来说,我正在尝试使用表达式的值填充属性,我在其中调用方法,然后在该方法返回的对象上使用属性。
我尝试了以下(名称已更改):
<property name="NullableIntProperty"
expression="#{Some.Object.Id}.Get().NullableIntValue"/>
其中Some.Object.Id
是对我在配置文件中定义的另一个对象的引用,例如:
<object id="Some.Object.Id" ... >
但我的应用程序无法以解析异常expecting "COLON", found '}'
开头。我认为它期待一个命名空间,但我找不到这个文档。
我尝试了几件事,但到处都是我死路一条。我最初尝试了MethodInvokingFactoryObject
和PropertyRetrievingFactoryObject
的组合,我们在其他地方使用了非可空类型,但由于Spring看到一个对象工厂返回,因此实际上为null
的nullables失败了null
失败(通常是这样)。
答案 0 :(得分:3)
您可以将@(object-id-here)
表达式语法用于retrieve an object from the Spring context using an expression:
<property name="NullableIntProperty"
expression="@(Some.Object.Id).PropertyOnSomeObject"/>
答案 1 :(得分:0)
将#改为$应该修复它,我相信。