c# - 引用对象定义的 Spring.NET 表达式

标签 c# configuration expression spring.net spring-el

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

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

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

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

但我的应用程序无法启动,并出现解析异常期望“COLON”,找到“}”。我认为它需要一个命名空间,但我没有找到这方面的文档。

我尝试过很多事情,但到处都陷入了死胡同。我最初尝试了 MethodInvokingFactoryObjectPropertyRetreeringFactoryObject 的组合,我们在其他地方将其用于不可为空类型,但是对于实际上为 null 的可空值,这会失败。 code> 因为 Spring 认为对象工厂返回 null 作为失败(通常是这样)。

最佳答案

您可以使用 @(object-id-here) 表达式语法来 retrieve an object from the Spring context using an expression :

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

关于c# - 引用对象定义的 Spring.NET 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406925/

相关文章:

java - 表示复杂配置的 OSGI 元类型

scala - 类型模式匹配为什么变量是必须的

javascript - JS 如何计算表达式 ({...}).objMethod()?

c# - AutoMapper:手动设置属性

c# - “Microsoft.ace.oledb.12.0”未读取服务器上 .xlsx 文件中的所有行 (IIS7)

c# - 如何根据某些条件隐藏特定的 jqueryui 选项卡?

MySQL & Play 框架 - 数据库配置

regex - 如何在 Ubuntu 上使用 Netbeans 6.9 配置 Boost

sql-server - 获取上周五和上周五 4 周前的 SSIS 表达式

c# - 实现 IEdmStrLst5 和 IEdmPos5 - SOLIDWORKS PDM API