【发布时间】:2013-08-19 04:29:59
【问题描述】:
我不确定执行此操作的正确方法。 这是我正在尝试做的简单表示,我将在第二步中解释我为什么要这样做。
需要将两个对象 A 和 B 注入到类 myClass 中。 A 可以不带参数注入,很好。那么 B 需要使用对 A 的引用来创建。我该如何在 spring 中做到这一点?
我这样做的原因是实体框架 - 我的服务层需要一个上下文对象(持久性,..)。我的存储库层(DAL)需要在构造函数中创建这个参数,以便它们可以访问数据库。在服务层过程结束时,我需要能够访问我的上下文对象以保存事务。 由于我希望能够模拟整个事物,因此我希望注入两个对象。
【问题讨论】:
-
我正在考虑使用注入创建 A,然后在需要时生成第二个对象(get)并以 onject A 作为参数调用 getObject。公共对象GetObject(字符串名称,对象[]参数)
-
NHibernate 支持此功能;事务管理是使用 spring.net aop 实现的。 Afaik 这还没有为实体框架实现。也许你可以看看 NHibernate 的实现来获得一些想法;虽然我不认为为实体框架实现事务管理是微不足道的。
-
有一个用于 EF 集成的 spring.net 项目:jira.springsource.org/browse/SPRNET/component/11481。但是,它没有任何活动。
标签: dependency-injection mocking entity-framework-5 spring.net service-layer