簡體   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