【问题标题】:Can you copy property or constructor-arg values from objects in Spring.NET XML?您可以从 Spring.NET XML 中的对象复制属性或构造函数参数值吗?
【发布时间】:2010-09-26 08:02:22
【问题描述】:

我相信我在几个月前就遇到了这个问题,但现在我很难找到答案。也许有人可以将我指向documentation 中的正确部分?

使用Sprint.NET,我将远程XML 文件组合到一个单独的应用程序上下文中,其中引擎对象与业务规则对象是分开的。问题是某些业务规则是值,而不是对象,引擎 xml 中的 <property><constructor-arg> 节点需要它们:

<object name="Engine">
    <constructor-arg index="0" value="business rule" />
</object>

引用另一个对象的属性(使用 expression 属性而不是 value?)或者一些专门的名称/值列表(例如 Spring 的 &lt;appsettings&gt; 版本,无论是什么)都可以工作。

【问题讨论】:

    标签: xml spring.net business-logic


    【解决方案1】:

    找到了!从 Spring Framework(版本 1.2.0 M1)PDF 的第 41 页开始,“IoC 容器”一章:

    5.3.8。使用其他对象和类的成员设置引用。

    本节详细介绍了这些 涉及的配置场景 属性的设置和 构造函数参数使用 其他对象和类的成员。 这种场景很常见, 尤其是在处理遗留问题时 你不能(或不会)的课程 改变以适应一些 Spring.NET 的约定...考虑一下 有一个类的情况 构造函数参数只能是 计算方法是,a 数据库。这 MethodInvokingFactoryObject 句柄 正是这种情况......它会 允许你注入一个结果 任意方法调用到 构造函数(作为参数)或作为 属性设置器的值。相似地, PropertyRetrievingFactoryObject 和 FieldRetrievingFactoryObject 允许您 从另一个检索值 对象的属性或字段值。 这些类实现 IFactoryObject 接口其中 向 Spring.NET 表明这 对象本身就是一个工厂,并且 工厂产品,不是工厂 本身,是什么将被关联 带有对象 ID。工厂对象 在???中进一步讨论

    这是latest online documentation中的5.3.9.1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多