java - 静电的正确使用

标签 java mongodb static

目前我正在使用 mongodb 和 java。我不想每次都重新打开与数据存储的连接,所以我想我应该创建一个静态变量:

package Config;

import java.net.UnknownHostException;

import com.google.code.morphia.*;

import com.mongodb.Mongo;
import com.mongodb.MongoException;

public class Config {

    static String dbUrl = "url";
    static int dbPort = portnumber;
    static String username = "user";
    static String password = "pw";
    static String dbName = "dbname";
    public static Datastore ds;

    public static Datastore getDatastore() throws UnknownHostException,
            MongoException {
        if (ds == null) {
            ds = connect();
        }
        return ds;
    }

    public static Datastore connect() throws UnknownHostException,
            MongoException {
        Mongo m = new Mongo(dbUrl, dbPort);
        Datastore ds = new Morphia().createDatastore(m, dbName);
        boolean con = ds.getDB().authenticate(username, password.toCharArray());// todo
        return ds;
    }
}

我会这样使用它:

Config.getDatastore().doSomthing();

除了那些未处理的异常之外,这是使用静态变量的正确方法吗?

最佳答案

最好将 Config 类设置为 singleton

关于java - 静电的正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11780887/

相关文章:

java - 为什么我们不能通过未初始化的局部变量访问静态内容?

java - 将 Guava 添加到依赖项后,基于插件的 RCP 产品构建将无法运行

java - 电话号码前缀查询

java - 使用 IntelliJ 中的 .sh 和 .sql 文件重新创建 MySQL 数据库

mongodb - 删除 MongoDB 数据库中的集合

c++ - 两个静态文本元素的 Winapi 不同背景颜色

java - 如何使 CORS 过滤器在具有基本身份验证的 Jersey REST 中工作?

c# - 将字典传递给 View Asp.net MVC

java - 如何让嵌入式mongodb在应用程序关闭时保留数据?

Java代码错误链表