弹簧注射依赖物体 - A& B注入两个对象,B在构造函数中需要A.

时间:2013-08-16 17:20:27

标签: dependency-injection mocking entity-framework-5 spring.net service-layer

我不确定正确的方法。 这里是我想要做的简单表示,我将在第二步解释为什么我这样做。

需要将两个对象A和B注入到类myClass中。 A可以没有参数注入,很好。那么B需要创建时参考A.我怎么在春天这样做?

我这样做的原因是实体框架 - 我有一个在我的服务层(持久性,...)中需要的上下文对象。我的存储库层(DAL)需要在构造函数中传递的paraneter才能创建,以便他们可以访问数据库。在服务层过程结束时,我需要能够访问我的上下文对象以保存事务。 由于我希望能够模拟整个事物,我希望注入两个对象。

1 个答案:

答案 0 :(得分:0)

使用public object GetObject( string name, object[] arguments)

工作
//_uow is my object containing my CONTEXT (DB ACCESS)
 _configRepo = (ICMConfigurationKVRepo)ContextRegistry.GetContext().GetObject("SLayer_IConfigurationKVRepo",new object[] { _uow });

Spring配置:

<object name="SLayer_IConfigurationKVRepo" 
        type="xxx.Repository.ConfigurationKVRepo, Repository" 
        autowire="constructor">