web-dev-qa-db-ja.com

Guiceとプロパティファイル

Google Guiceを使用して.propertiesファイルからプロパティを挿入する方法の例を誰かが持っていますか?インジェクターの起動時に、Guiceは必要なすべてのプロパティが存在することを検証できたと言われました。

現時点では、これについてguice wikiで何も見つかりません。

43
benstpierre

Names.bindProperties(binder(), getProperties())を使用してプロパティをバインドできます。ここで、getPropertiesPropertiesオブジェクトまたはMap<String, String>(プロパティファイルをPropertiesオブジェクトとして読み取る)を返しますあなた次第です)。

次に、@Namedを使用して名前で挿入できます。プロパティファイルがある場合:

foo=bar
baz=true

次のように、これらのプロパティの値を任意の場所に挿入できます。

@Inject
public SomeClass(@Named("foo") String foo, @Named("baz") boolean baz) {...}

Guiceは、文字列から上記のbooleanなどの注入される型に値を自動的に変換できます(文字列が適切な形式であると想定)。これは、プリミティブ型、列挙型、およびクラスリテラルで機能します。

71
ColinD