我从这里https://dzone.com/articles/guicing-play-framework尝试了依赖注入示例
下面是我的代码控制器:
public class TestController extends Controller{
@Inject
private Testing test;
public Result result() {
test.tt();
return ok();
}
}
服务接口代码:
public interface Testing {
public String tt();
}
ServiceImpl代码:
public class Testingimpl implements Testing{
@Override
public String tt() {
return "test";
}
}
我收到了这个错误
CreationException:无法创建注入器
如果我这样做,这是有效的。
public class TestController extends Controller{
@Inject
private TestingImpl test;
public Result result() {
test.tt();
return ok();
}
}
怎么解决这个?
您忘记将接口绑定到您的实现。如果您有一个实现更改您的界面,如:
import com.google.inject.ImplementedBy;
@ImplementedBy(Testingimpl.class)
public interface Testing {
public String tt();
}
对于更复杂的解决方案,您可以使用程序化绑定:https://www.playframework.com/documentation/2.7.x/JavaDependencyInjection#Programmatic-bindings