我遇到了一个问题,我试图通过ProxyFactoryObject在spring.net中调用一个对象。现在我在工厂调用的对象有一个构造函数,它通过构造函数注入来引用另一个对象。当我从C#代码调用代理从代理返回正确的目标对象,但它应该被设置为通过初始化构造函数调用某些内容的项目是空的。现在我不确定为什么会发生这种情况。Spring.net将ProxyFactoryObject与使用构造函数注入的对象一起使用
我的app.config对象部分低于:
<objects xmlns="http://www.springframework.net">
<object name="MyMovieLister" id="MyMovieLister" type="SpringTestProgram.Classes.MovieLister, SpringTestProgram" singleton="false">
<!-- using cstor injection... -->
<constructor-arg index="0" ref="MyMovieFinder"/>
<constructor-arg index="1" value="2"/>
</object>
<object name="MyMovieFinder" id="MyMovieFinder" type="SpringTestProgram.Classes.MovieFinder, SpringTestProgram" singleton="false"/>
<object id="MyBeforeAdvisor"
type="Spring.Aop.Support.NameMatchMethodPointcutAdvisor, Spring.Aop">
<property name="Advice">
<object id="myBeforeAdvice"
type="SpringTestProgram.Classes.LoggingAdvice, SpringTestProgram"/>
</property>
<property name="MappedNames">
<list>
<value>FindAll</value>
</list>
</property>
</object>
<object name="MovieWorkerProxy" type="Spring.Aop.Framework.ProxyFactoryObject, Spring.Aop">
<property name="Target" ref="MyMovieLister" />
<!--<property name="TargetSource">
<object type="Spring.Aop.Target.PrototypeTargetSource, Spring.Aop">
<property name="TargetObjectName" value="MyMovieLister" />
</object>
</property>-->
<!--<property name="ObjectNames">
<list>
<value>MyMovieLister</value>
</list>
</property>-->
<property name="interceptorNames">
<list>
<value>MyBeforeAdvisor</value>
</list>
</property>
</object>
</objects>
而下面是我必须把这个C#代码:
IApplicationContext ctx = ContextRegistry.GetContext();
MovieLister myMovieLister = ctx.GetObject("MovieWorkerProxy") as MovieLister;
IList<string> myList = myMovieLister.FindMovies();
现在类的实际FPGA实现是真的不重要的,但我们真正关心的唯一的类在这里列出如下:
public class MovieLister
{
public MovieLister(IMovieFinder myMovieFinder, int i)
{
number = i;
movieFinder = myMovieFinder;
}
public IList<string> FindMovies()
{
return movieFinder.FindAll();
}
private int number;
private IMovieFinder movieFinder;
}
现在我'不知道为什么当我从我的代理工厂调用上面的类做两个由唯一的构造函数设置为null设置的字段?任何人都可以帮忙......