我需要通过setter或构造函数级别注入一个带有spring .Net的接口。 我不想编写spring.Net(使用ApplicationContext)代码,而是纯粹通过XML完成它。看起来它不可能,我的想法是使用静态工厂模式。 当我创建一个我设置的属性为null的对象实例时会出现问题,因此我不确定如何在不使用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
的情况下触发注入?
如何通过spring.Net创建GlobalVariables
实例,而不是创建它。
上面的内容有点令人困惑,所以如果我不清楚,请提出问题。