[英]Google Guice configuration error (No implementation was bound)
我对Google Guice框架有疑问 。
我正在尝试创建一个注入对象列表的简单应用程序 。 不幸的是,在尝试运行应用程序时,我收到以下错误。
没有绑定java.util.List的实现。 在定位Operator()时在Operator.carShops(Operator.java:17)中为字段定位java.util.List
这是程序代码:
public class Main {
public static void main(String[] args) {
Injector injector = Guice.createInjector();
Operator operator = injector.getInstance(Operator.class);
operator.prepareData();
}}
public class Operator implements IOperator {
@Inject
private List<CarShop> carShops;
public List<CarShop> getCarShops() {
return carShops; <--- Place of error occurrence
}
public void setCarShop(List<CarShop> carShops) {
this.carShops = carShops;
}
public void prepareData() {
for(CarShop carShop:carShops)
for(int i=0;i<10;i++) {
Car car = new Car();
car.setPrice(1000);
carShop.addCar(car);
}
}}
请帮忙
看来您的模块注册依赖项缺失了。 您需要告诉Guice在要求接口时将使用哪个类。
import com.google.inject.AbstractModule;
public class SimpleModule extends AbstractModule {
@Override
protected void configure() {
bind(CarShop.class).to(CarShopImpl.class);
}
}
其中CarShopImpl
是CarShop
接口的特定实现。
比方说, CarShopImpl
类的开头应该是:
public class CarShopImpl implements CarShop {
// Implementation
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.