Guice多数据库自动切换

时间:2013-04-22 09:40:57

标签: java guice

我有三个数据库共同管理

  1. 单元测试环境的本地数据库
  2. 测试db for development environment
  3. 产品环境的在线数据库
  4. 如何根据环境自动注入不同的数据库属性?

      

    通过使用带弹簧的xml,我可以使用maven配置文件和资源   过滤功能可以完成这项工作。

    guice有什么解决方案?

1 个答案:

答案 0 :(得分:1)

在最简单的情况下,您可以在binder.bindConstant()中使用Module,如下所示:

bindConstant().annotatedWith(Names.named("user.name")).to(System.getProperty("user.name"));

您可以这样使用:

@Inject @Named("user.name")
private String userName;

如何在程序开始时设置系统属性取决于您。

另一种类似的方法是实用方法cNames.bindProperties(Binder, Map<String, String>),您可以在其中一次性设置任意属性。