【发布时间】:2011-09-06 05:29:26
【问题描述】:
如何定义配置以将依赖项注入以下对象层次结构:
RootObject
- ContentObject
- L11Object
- L12Object
- L21Object
.etc.
RootObject 依赖于 ImportantObject,ContentObject 依赖于 AnotherObject。
为了定义这些依赖项,我定义了以下内容:
<object name="RootObject" type="...." abstract="true">
<constructor-args ../>
</object>
<object name="ContentObject" type="...." abstract="true" parent="RootObject">
<constructor-args ../>
</object>
一切正常,但 Spring.Net 需要在配置中定义我的对象的层次结构。
是否可以通过定义parent="..." 使用“自动发现”之类的想法来不重复配置中的继承层次结构?
是的,我知道 Unity 1.0+ 比 Spring.Net 解决这个问题要好得多,但我别无选择,我应该使用 Spring.Net。
【问题讨论】:
-
“自动发现”在 spring.net 中称为自动装配:参见spring.net docs on autowire。
-
您使用的
parent和abstract属性不是用于连接依赖关系,而是用于重用对象定义。这个概念被称为object definition inheritance。
标签: .net configuration dependency-injection ioc-container spring.net