Я хочу получить экземпляр класса, который имеет некоторые параметры для внедрения. Могу ли я создать объект-компаньон для класса и создать экземпляр по Guice Injection?
Пример кода:
class A @Inject() (b: B) {
...
...
}
object A {
def getInstance(): A = {
val injector = createInjector(new AModule())
injector.getInstance(classOf[A])
}
}
class AModule {
def configure() {
bind(classOf[B]).to(classOf[someImplementationOfB])
}
}
Я хочу знать, является ли это правильным способом реализации этого. Мой вариант использования - получить экземпляр A с помощью метода, и я не хочу, чтобы вызывающий абонент знал какие-либо подробности AModule.
Спасибо!