我正在编写一个新的java库,并希望在这里使用guice。库将依赖于其他一些guice模块。我知道在某些时候创建一个guice应用程序时我们会使用Guice.createInjector(...)。我的问题是我应该在哪里创建我的库中的注入器,因为它有许多入口点。
答案 0 :(得分:3)
理想情况下,您的库的客户端也将使用JSR-330,并且只是将您的模块添加到他们自己的注入器中。如果这不可行,您可以要求客户调用库的初始化方法来设置模块,创建注入器,然后返回一些简单的工厂或提供者对象(由Guice注入),提供对必要入口点的访问。你的API。