Можно или правильно создать Instance, используя Guice Injector, в сопутствующем объекте класса SCALA? - PullRequest
0 голосов
/ 18 января 2020

Я хочу получить экземпляр класса, который имеет некоторые параметры для внедрения. Могу ли я создать объект-компаньон для класса и создать экземпляр по 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.

Спасибо!

...