1

我有三个数据库共配置

  1. 用于单元测试环境的本地数据库
  2. 开发环境的测试数据库
  3. 产品环境在线数据库

如何根据环境自动注入不同的数据库属性?

通过将 xml 与 spring 一起使用,我可以使用 maven 配置文件和资源过滤器功能来完成这项工作。

guice 的解决方案是什么?

4

1 回答 1

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>),您可以一次性设置任意属性。

于 2013-04-22T20:44:43.320 回答