4

嘗試瞭解如何使用內置DI框架Guice,在Play Framework JAVA(2.4x版)中連接到MongoDB。在Play Framework中注入MongoDB實例[java]

到目前爲止,我正在使用Jongo(版本1.2)。我創建了一個JongoProvider類,其中我使用相關的IP地址初始化了MongoDB實例,以MongoDB等。

我將此注入到下面的模型中,但似乎我無法訪問注入的實例靜態方法。有沒有一種訪問注入Mongo對象的正確方法?

class User { 
    @Inject JongoProvider jongo; 

    public static User getUsers() { 
     // can't access static instance 
     jongo.getcollection("users"); 
    } 
} 

// ===基於蒙卡拉馬裏的回答

class User { 

    public static JongoProvider jongo() { 
     return Play.application().injector().instanceOf(JongoProvider.class); 
    } 

    public static User getUsers() { 
     jongo().getcollection("users"); 
    } 
} 
+1

是的,請勿使用靜態方法。 –

回答

0

User不屬於Guice的依賴注入框架,所以你不能注入吉斯依賴弄成吉斯一無所知編輯。請嘗試使用靜態方法Play對象:

JongoProvider provicer = Play.application().injector().instanceOf(JongoProvider.class) 
+0

我的意思是沒有「用戶」類的guice綁定。 –

相關問題