我需要通过 setter 或构造函数级别与 spring .Net 注入接口。我不想编写 spring.Net(使用 ApplicationContext)代码,而是纯粹通过 XML 完成它。似乎不可能,我的想法是使用静态工厂模式。当我创建我设置的属性为空的对象的实例时,问题就来了,所以我不确定如何在不使用 applicationContext 方法的情况下触发注入。
我的 XML 代码。
<spring>
<context>
<resource uri="config://spring/objects"/>
</context>
<objects xmlns="http://www.springframework.net">
<object id="foo" type="SpringIoC.Test.GlobalVariables, SpringIoC.Test">
<constructor-arg ref="anotherExampleObject"/>>
</object>
<object id="anotherExampleObject" type="SpringIoC.Implementor.HalloWorld, SpringIoC.Implementor"/>
</objects>
</spring>
我的 C# 代码:
public class GlobalVariables
{
public GlobalVariables(IHalloWorld hallo)
{
halloWorld = halloWorld;
}
private IHalloWorld halloWorld;
public IHalloWorld Hallo
{
set { halloWorld = value; }
}
public IHalloWorld getHallo
{
get { return halloWorld; }
}
}
上面的 XML 是正确的,但是我如何在不使用的情况下触发注入applicationContext
?
如何在GlobalVariables
不通过 spring.Net 创建的情况下获得实例。
以上内容有点混乱,所以如果我不清楚,请提出问题。