Guice Und Scala - Injektion auf Generika Abhängigkeiten

Ich versuche zu schaffen, eine Bindung von einer generischen Eigenschaft mit Guice

Sehen, wie die trait definiert ist

trait Repository[T]

Sehen die trait Umsetzung

class DomainRepository extends Repository[Domain]

Mein configure Methode in DomainPersistenceModule ist:

def configure() {
   bind(classOf[Repository[Domain]])
     .annotatedWith(classOf[DomainDependency])
     .to(classOf[DomainRepository])
     .in(Scopes.SINGLETON)
}

Die variable, deren Abhängigkeit wird gespritzt ist:

  @Inject
  @DomainDependency
  var repository:Repository[Domain] = _

Die Injektion erfolgt hier:

val injector:Injector = Guice.createInjector(new PersistenceModule())

val persistenceService:PersistenceService =
        injector.getInstance(classOf[DomainPersistenceService])

Der Fehler ist:

Caused by: com.google.inject.ConfigurationException: Guice configuration errors:

1) No implementation for repository.Repository<domain.Domain> annotated with @module.annotation.DomainDependency() was bound.
  while locating repository.Repository<domain.Domain> annotated with @module.annotation.DomainDependency()
    for field at service.persistence.DomainPersistenceService.repository(DomainPersistenceService.scala:19)
  while locating service.persistence.DomainPersistenceService

Bin ich etwas fehlt?
Vielen Dank im Voraus

InformationsquelleAutor ricardogobbo | 2011-06-07
Schreibe einen Kommentar