mjn*_*mjn 20 java configuration guice apache-commons-config
对于用Java编写的监控软件,我考虑使用Google Guice作为DI提供程序.项目需要从外部资源(文件或数据库)加载其配置.该应用程序旨在以独立模式或servlet容器运行.
目前,配置不包含依赖项注入的绑定或参数,只有一些全局应用程序设置(JDBC连接定义和关联的数据库管理/监视对象).
我看到两个选择:
要么
您是否建议将Guice用于这两项任务,或者将一般应用程序配置与依赖注入分开?您认为哪些优点和缺点最重要?
Lan*_*dei 33
在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) {
//...
}
}
}
Run Code Online (Sandbox Code Playgroud)
之后,很容易从Properties切换到其他配置源.
[编辑]
顺便说一下,您可以通过注释来获取注入的属性@Named("myKey").
检查州长库:
https://github.com/Netflix/governator/wiki/Configuration-Mapping
您将获得一个 @Configuration 注释和几个配置提供程序。在代码中,它有助于查看您使用的配置参数的位置:
@Configuration("configs.qty.things")
private int numberOfThings = 10;
Run Code Online (Sandbox Code Playgroud)
此外,您将在启动时获得一份不错的配置报告:
https://github.com/Netflix/governator/wiki/Configuration-Mapping#configuration-documentation
| 归档时间: |
|
| 查看次数: |
18115 次 |
| 最近记录: |