1
我有三个数据库cofinguration吉斯多数据库自动开关
- 本地数据库进行单元测试环境
- 测试数据库的开发环境
- 产品环境在线DB
我怎么能根据环境自动注入不同的数据库属性?
通过使用XML与春天,我可以使用Maven配置文件和资源 过滤功能有这个工作做完。
guice的解决方案是什么?
我有三个数据库cofinguration吉斯多数据库自动开关
我怎么能根据环境自动注入不同的数据库属性?
通过使用XML与春天,我可以使用Maven配置文件和资源 过滤功能有这个工作做完。
guice的解决方案是什么?
在您可以Module
中使用binder.bindConstant()
这样最简单的例子:
bindConstant().annotatedWith(Names.named("user.name")).to(System.getProperty("user.name"));
可以使用此类似这样的:
@Inject @Named("user.name")
private String userName;
你如何在程序开始时设置的系统属性你决定。
另一个但类似的方法是效用方法cNames.bindProperties(Binder, Map<String, String>)
您可以一次设置任意属性。
当我启动jvm时,我应该传递-Duser.name吗? – jilen 2013-04-23 01:23:06
@jilen这是一种可能的方式。 – 2013-04-23 17:31:44
但如果我使用Jetty/Tomcat,我不想真的更改jetty.sh/startup.sh。我如何将环境传递给我的应用程序? – jilen 2013-04-24 01:43:54