在 Play 框架中注入 MongoDB 实例 [java]
Posted
技术标签:
【中文标题】在 Play 框架中注入 MongoDB 实例 [java]【英文标题】:Injecting MongoDB instance in Play Framework [java] 【发布时间】: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");
【问题讨论】:
是的,不要使用静态方法。 【参考方案1】:User
类不属于 Guice 依赖注入框架,因此您不能将 Guice 依赖注入到 Guice 不知道的东西中。尝试在Play
对象上使用静态方法:
JongoProvider provicer = Play.application().injector().instanceOf(JongoProvider.class)
【讨论】:
我的意思是User
类没有guice绑定。以上是关于在 Play 框架中注入 MongoDB 实例 [java]的主要内容,如果未能解决你的问题,请参考以下文章