java - Guice多数据库自动切换

标签 java guice

我有三个数据库配置

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

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

By using xml with spring, I can use maven profiles and Resources filter feature to have this work done.

请问guice有什么解决办法吗?

最佳答案

在最简单的情况下,您可以使用 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>)您可以一次性设置任意属性。

关于java - Guice多数据库自动切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16143904/

相关文章:

从 S3 存储桶访问时出现 java.io.FileNotFoundException?

java - 当我运行此代码时,仅显示两个节点的数据和新节点的数据,但不显示第三个和第四个节点的数据

java - 无法使用基本的 Spring 3.0 MVC 示例加载磁贴

java - jetty guice 非法访问错误

java - 使用 codehaus jaxws-maven-plugin 重命名 JAX-WS 服务类的正确方法是什么?

Java FileReader 编码问题

session - Apache Wicket 口 : Injecting dependencies in Session (using Guice)

java - 我如何在 JavaFX Controller 中使用 Guice?

Grails 2.4 Guice 错误

java - 了解 Guice 从哑数据对象创建对象