【发布时间】:2015-07-20 00:24:44
【问题描述】:
试图了解如何使用内置 DI 框架 Guice 在 Play Framework JAVA(版本 2.4x)中连接到 MongoDB。
到目前为止,我使用的是 Jongo(1.2 版)。我创建了一个 JongoProvider 类,在其中我使用 MongoDB 的相关 IP 地址初始化 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");
}
}
【问题讨论】:
-
是的,不要使用静态方法。
标签: java playframework dependency-injection guice playframework-2.4