1

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

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

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

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

4

1 回答 1

0

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

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

本节详细介绍了那些涉及使用其他对象和类的成员设置属性和构造函数参数的配置方案。这种情况很常见,尤其是在处理无法(或不会)更改以适应 Spring.NET 的某些约定的遗留类时……考虑具有构造函数参数的类的情况,该参数只能是通过说,一个数据库来计算。MethodInvokingFactoryObject 正好处理这种情况......它将允许您将任意方法调用的结果注入构造函数(作为参数)或作为属性设置器的值。同样,PropertyRetrievingFactoryObject 和 FieldRetrievingFactoryObject 允许您从另一个对象检索值' s 属性或字段值。这些类实现了 IFactoryObject 接口,该接口向 Spring.NET 指示该对象本身就是一个工厂,而工厂产品,而不是工厂本身,将与对象 ID 相关联。工厂对象在???中进一步讨论

这是最新在线文档中的 5.3.9.1 。

于 2008-12-10T21:46:21.877 回答