12

我正在学习 Guice,但我不清楚如何使用Injector实例。最好Injector在应用程序引导程序上创建一次实例,并将其设为公共单例?

我们是否总是必须使用Injector#getInstance(SomeClass.class)来获取放置 Guice@Inject注释的类?

4

1 回答 1

9

您不应该将注入器作为全局单例传递。你看过:https ://github.com/google/guice/wiki/GettingStarted ?请注意,RealBillingService不使用注入器来获取CreditCardProcessor和的实例TransactionLog。相反,Guice 在创建实例时会为您处理所有这些。

如果您需要 Guice 创建许多相同类型的对象,请考虑使用提供程序并注入该提供程序。

于 2013-02-12T19:21:37.463 回答