我試圖創建一個使用吉斯吉斯和Scala - 仿製藥的依賴注入
通用的特質如何看trait
定義的結合
trait Repository[T]
見trait
實施
class DomainRepository extends Repository[Domain]
我的配置方法DomainPersistenceModule
是:
def configure() {
bind(classOf[Repository[Domain]])
.annotatedWith(classOf[DomainDependency])
.to(classOf[DomainRepository])
.in(Scopes.SINGLETON)
}
的變量,其關係將被注入的是:
@Inject
@DomainDependency
var repository:Repository[Domain] = _
注入發生在這裏:
val injector:Injector = Guice.createInjector(new PersistenceModule())
val persistenceService:PersistenceService =
injector.getInstance(classOf[DomainPersistenceService])
的錯誤是:
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
我缺少的東西? 在此先感謝