【发布时间】:2017-04-11 13:29:18
【问题描述】:
最初我开始制作 Play!具有 Controller、Processor 和 DAO 的 Java 项目。我使用 Google Guice 的 @ImplementedBy 为我的 Processor 接口使用依赖注入,我的 ProcessorImpl 实现了它。
现在,我创建了另一个项目,它也需要Processor。所以我将接口提取到另一个单独的项目中,比如 common,这两个项目使用该公共项目作为引用库。
问题是,我将无法再使用@ImplementedBy,因为该公共项目将没有两个项目的引用。由于这是不可能的,我无法进行依赖注入。如果不提供@ImplementedBy,我会收到以下错误:
play.api.UnexpectedException: Unexpected exception[ProvisionException: Unable to provision, see the following errors:
1) No implementation for com.processor.Processor was bound.
有没有办法在配置文件中配置依赖项?或者可以在实现的类中注入依赖?
【问题讨论】:
标签: java dependency-injection playframework guice