簡體   English   中英

Guice配置錯誤

[英]Guice configuration error

我正在嘗試將Google Guice與@Inject和@Singleton屬性一起使用,如下所示:

我有:

  1. 具有空configure()方法的模塊。
  2. 一個接口IFoo
  3. 一個類Foo(實現IFoo),用@Singleton注釋,帶有@Inject注釋的無參數構造函數。 這是單個帶注釋的構造函數。

類,構造函數和接口是公共的,但我仍然收到以下錯誤:

沒有針對IFoo的實現。

你的意思是你在這樣做時得到錯誤?

IFoo foo = injector.getInstance(IFoo.class);

那么很明顯。 如果configure()為空,那么guice應該知道哪個類滿足IFoo的依賴性。

只需在configure()方法中添加它,它應該工作。 現在guice知道用什么類來滿足依賴。

bind(IFoo.class).to(Foo.class);

如果您不想在模塊中配置它,則可以注釋該接口。 例如

@ImplementedBy(Foo.class)
public interface IFoo {
  ...
}

@Singleton注釋只告訴guice每次通過Injector.getInstance()發出類的請求而不是每次都創建一個新實例時,返回該類的相同實例(Singleton模式)。 但請注意,這只是每個Injector的Singleton而不是每個Classloader。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM