使用 gson 创建 guice 单例

Create guice singleton with gson

我正在尝试从 json 配置文件创建一个 guice 单例。

我的单例是配置:

@Singleton
public class QConfig {

    private int port;

    public int getPort() {
        return port;
    }
}

我使用gson生成对象:

    String content = ...
    QConfig config = new GsonBuilder().create().fromJson(content, QConfig.class);

有没有一种方法可以让我自己生成 QConfig class 并仍然将其用作单例

在 guice 模块中使用 @Provides 方法:

@Provides
public QConfig config() {
    String content = ...
    QConfig config = new GsonBuilder().create().fromJson(content, QConfig.class);
}