2014-02-10 155 views
0

我是一個新的Guice依賴注入,希望有人能解釋我爲什麼我的代碼不起作用。Google Guice。用@Provides註釋註釋的方法不會被調用

這裏是一個擴展AbstractModule類:

public class WebCoreModule extends AbstractModule { 

    @Provides 
     public SomeFactory getSomeFactory() { 
      return new SomeFactoryImpl(); 
     } 

} 

,並在其他類我有一個私有成員

private static @Inject SomeFactory factory; 

我想調用上factory對象的方法,但它是始終爲空。此外,我在getSomeFactory()方法上設置了一個斷點,它永遠不會被調用。

我在做什麼錯?

+0

過得好「其他類」的實例?大概不是通過「注射器」。 –

+0

我的'其他類'是AspectJ方面,所以它是由框架創建的。它是如何創建使用依賴注入的類的實例? –

+1

絕對如此。如果Guice框架沒有創建你的類,它不知道它存在並且不能執行注入。這對所有DI框架都是一樣的,除非它們運行某種類型的字節碼增強。 –

回答

1

所有我需要的是在WebCoreModule的下面一行的configure()方法: