繁体   English   中英

Google Guice配置错误(未实施已绑定)

[英]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);
    }
}

其中CarShopImplCarShop接口的特定实现。

比方说, CarShopImpl类的开头应该是:

public class CarShopImpl implements CarShop {

    // Implementation
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM