Guice和属性文件

ben*_*rre 43 java dependency-injection guice

有没有人举例说明如何使用Google Guice从.properties文件中注入属性.我被告知Guice能够验证喷射器启动时是否存在所有需要的属性.

这时我在guice维基上找不到任何关于此事的内容.

Col*_*inD 70

您可以使用绑定属性Names.bindProperties(binder(), getProperties()),其中getProperties返回Properties对象或Map<String, String>(将属性文件作为Properties对象读取取决于您).

然后,您可以使用名称注入它们@Named.如果您有属性文件:

foo=bar
baz=true
Run Code Online (Sandbox Code Playgroud)

您可以在任何地方注入这些属性的值,如下所示:

@Inject
public SomeClass(@Named("foo") String foo, @Named("baz") boolean baz) {...}
Run Code Online (Sandbox Code Playgroud)

Guice可以自动将字符串中的值转换为正在注入的类型boolean(如上所述)(假设字符串是适当的格式).这适用于原始类型,枚举和类文字.