你可以从Spring.NET XML中的对象复制属性或构造函数arg值吗?

时间:2008-12-10 20:59:09

标签: xml spring.net business-logic

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

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

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

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

1 个答案:

答案 0 :(得分:0)

发现它!从Spring Framework(版本1.2.0 M1)的第41页开始,在“IoC容器”一章中的PDF:

  

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

     

本节详细介绍了这些内容   涉及的配置方案   属性和设置   构造函数参数使用   其他对象和类的成员。   这种情况很常见,   特别是在处理遗产时   你不能(或不会)的课程   改变以容纳一些   Spring.NET的约定......考虑一下   一个有一个类的类的情况   构造函数参数只能是   通过说,a计算   数据库。该   MethodInvokingFactoryObject句柄   正是这种情况......它会   允许你注入一个结果   任意方法调用成一个   构造函数(作为参数)或作为参数   属性设置器的值。同样的,   PropertyRetrievingFactoryObject和   FieldRetrievingFactoryObject允许你   从另一个检索值   对象的属性或字段值。   这些类实现了   IFactoryObject接口当中   向Spring.NET表明这一点   对象本身就是一个工厂和   工厂产品,而不是工厂   本身就是与之相关的   用对象id。工厂对象   在

中进一步讨论

这是latest online documentation中的5.3.9.1。