0

假设我有一个类之间的依赖关系树。没有周期,但它有几个层次。在最底部有一个 hibernate Session

MyService -> MyDao -> Session
MyService -> MyCollaborator -> AnotherCollaborator
MyCollaborator -> MyDao
AnotherCollaborator -> MyDao
AnotherCollaborator -> AnotherDao -> Session

你明白了。

我想Session在 Guice 外部手动创建,然后使用 Guice 从MyService下生成整个图形,使用 this Session。我该怎么做?。

4

1 回答 1

3

听起来您正在寻找Provider

编辑

提供者是一个用户定义的工厂,可以在进行绑定时声明为 guice。

它允许用户注入未指定数量的实例(通过注入提供程序本身并手动调用)或提供有趣的创建行为,例如创建所需的副作用,而不是由类型自己的构造函数执行。

因此,它是一种方便的工具,可以将其他 3rd-party API 结合到您的依赖项中:为每种所需类型创建一个提供程序,并让它执行所需的任何设置。

具体来说,它们是一个提供单一get()方法的通用接口,模板化为您希望在其中手动创建的类型。

于 2012-06-20T06:16:19.700 回答