私は、インジェクタの階層と、どのように/ createChildInjector()を使用するかについて説明するためにネットを見てきましたが、明確かつ簡潔な説明を見つけることはできません。私は、特定のコンテキスト・アイテムを注入するために使用するベースのアプリケーション・モジュールを持ってインジェクター階層/チャイルドインジェクターの説明?
- :
は、ここに私のユースケースです。このモジュールは、すべてのインジェクタインスタンスに含める必要があります。
- 私はデータベースを検索する検索モジュールを持っています
- 私はElasticSearchを検索する検索モジュールを持っています。このクラスのバインディングの一部は、データベース検索モジュールで提供されるバインディングをオーバーライドする必要があります。
bind(PlaceSearch.class).to(HibernatePlaceSearch.class); bind(PersonSearch.class).to(HibernatePersonSearch.class);
そしてElasticSearchモジュールが含まれています:たとえば
、データベース検索モジュールが含まれていると言う
bind(PersonSearch.class).to(PersonElasticSearch.class);
PlaceSearchからバインディングが含まインジェクターを作成する方法はありますデータベース検索モジュールと、ElasticSearchモジュールからのPersonSearchバインディングを、別のモジュールを作成せずに、
bind(PlaceSearch.class).to(HibernatePlaceSearch.class);
bind(PersonSearch.class).to(PersonElasticSearch.class);
?これはModules.override()のケースですか? createChildInjectorの場合?あらかじめありがとう!
お返事ありがとうございます。あなたは私にちょうど子供の注射器が何であるかの説明を教えてもらえますか?または私は良いリファレンスを指摘しますか?私は子供の注射器の概念を完全に理解しているかどうかはわかりません。 – jcampos8782
子供のインジェクターの概念は、この回答で非常によく説明されています:http://stackoverflow.com/a/12774246/205866 – racc