我如何将依赖项注入di Framework不创建的对象?
我正在使用Objectify在Google App Engine上运行一个应用程序,因此Pojos是通过Ogginaly创建数据时在数据存储中获取数据时创建的。我个人喜欢使用便利的方法来获取相关对象,例如car.getowner()。getName()CAR对象是由Objectify创建的。getowner()所有者的代码将是
public Person getOwner(){
return PersonService.getById(this.ownerId);
}
我可以通过服务式
来改进它public Person getOwner(){
return ServiceLocator.getService(PersonService.class).getById(this.ownerId);
}
但是我该如何使用di?
我看着guice,但我只能想到将喷油器放在单例中,然后从getowner方法访问它。
我的想法有缺陷?
如果您使用的是Objectify4,则可以亚克拉ObjectifyFactory并覆盖construct()方法。这将使您可以注入实体课程。
您可以在此处看到一个示例:https://github.com/stickfigure/motomapia/blob/master/java/java/com/motomapia/ofyfactory.java
我能想到的唯一解决方案是加载时间编织,我引用:
上下文:加载时间 - 编织者寄存器extackj的加载时间编织器 当前的classloader。因此,不仅会针对春豆,而且 但是匹配定义的classloader中加载的任何类 尖端。
,但我认为这将与GAE限制相抵触,但我还没有在GAE中尝试过。