一尘不染

Guice和常规应用程序配置

java

对于用Java编写的监视软件,我考虑使用Google
Guice作为DI提供程序。项目需要从外部资源(文件或数据库)加载其配置。该应用程序旨在以独立模式或servlet容器运行。

目前,该配置不包含用于依赖项注入的绑定或参数,仅包含某些全局应用程序设置(JDBC连接定义和关联的数据库管理/监视对象)。

我看到两个选择:

要么

  • 在Guice中使用基于文件的插件,例如guice-xml-config来存储应用程序选项(如果需要,可以稍后配置DI部分)。

您是否建议将Guice用于这两项任务,还是将常规应用程序配置与依赖项注入分开?您认为哪些优点和缺点最重要?


阅读 150

收藏
2020-12-03

共1个答案

一尘不染

在Guice模块中添加属性文件很简单:

public class MyModule extends AbstractModule {

  @Override
  protected void configure() {
    try {
        Properties properties = new Properties();
        properties.load(new FileReader("my.properties"));
        Names.bindProperties(binder(), properties);
    } catch (IOException ex) {
        //...
    }
  }
}

稍后,很容易从“属性”切换到其他配置源。

[编辑]

顺便说一句,您可以通过使用注释获得注入的属性@Named("myKey")

2020-12-03