【发布时间】:2013-05-16 17:06:23
【问题描述】:
我有一个用@Inject 标识字段的类。我使用 morphia 将这个对象保存到 MongoDB。当需要取回对象时,我执行一个查询,如下所示:
MorphiaVersionedPerson versionedPerson = ds.find(entityClazz).filter("published.name", name).get();
据我了解,Morphia 将使用无参数构造函数来创建该对象的实例,然后使用反射来填充字段值。
Guice 应该 @Inject 的值是 null。我知道 Guice 也使用反射,但在这种情况下,guice 不会创建对象。 Morphia 创建对象。
我想我可以尝试在我的 DAO 中获取注入器并执行以下操作:
injector.injectMembers(versionedPerson )
但是,让注射器看起来有点不对劲。在这种情况下,有没有其他方法可以让 morhpia 和 Guice 互动?如何获得将必要元素 @Inject 到 morhpia 创建的对象的指导?
【问题讨论】:
标签: java reflection dependency-injection guice morphia