プロパティファイルの取得の仕方 備忘録

DIの発想にたつと、プロパティの取得をstaticにAbstractModuleに書くのはよくない。
なので、Injectして与えるということになるが・・・。
なんか、複雑やね。
XADatasouceModuleを見ただけでは、生成の仕方が不明で、Conventionもみないといけないし・・・。
まぁ、単一のルールを決めてとすると、アーキテクト側としてはいいのか、conventionを一か所にまとめて、bindしてやればいいし。
好みの問題か・・・。

@Inject
@Named("convention.xaDataSource")
PropertiesConvention convention;

Properties properties = convention.getProperties();
XADataSourcePaeImpl instance = GuiceInstanceFactory.getInstance(XADataSourcePaeImpl.class, properties);
bind(XADataSource.class).toInstance(instance);
XADataSourcePropertiesConvention.java
bind(PropertiesConvention).annotatedWith(xxxx).toInsntace(yyyy);

プロジェクトで単一のルールを作るなら

ConventionModule.java
yyyy = new YYYYY()
bind(PropertiesConvention).anno(xxxx).toInsntance(yyyy);
bind(PropertiesConvention).anno(zzzz).toInsntance(yyyy);

あー、namedの指定してあるときにnamedのbindしていないとどういう振る舞いするんだろう、調べないと・・・

プロパティファイルを別に2つのモジュールを作成したいときとかも考えとこ。ある程度は見えているけど。
暗黙的なルールってやめとこ、ソース見てもすぐ判らないし、いいことない。