問題タブ [guice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
generics - Guice SPI:ワイルドカードタイプによるバインディングの検索
Guiceは、特定のタイプ(Injector#findBindingsByType )のすべてのバインディングを検索する手段を提供し、ワイルドカードタイプを構築できると思われるTypeLiteralクラスも提供します。私がやりたいのは、ワイルドカード型によってパラメータ化されたいくつかの型のすべてのバインディングを見つけることですが、それを行う方法がわかりません。guice srcを見ると、間違った木を吠えている可能性がありますが、とにかく尋ねると思いました...たとえば、タイプを指定すると
とのようないくつかのバインディング
次に、次のようなもので両方のバインディングを検出できるようにしたい
何か案は?
乾杯マット
generics - Type と TypeLiterals を介して Guice で実行時にジェネリック型を再構築する
私はこのようないくつかのタイプを持っています
Guice で使用できるように Foo を再作成するにはどうすればよいでしょうか? 私が立ち往生しているビットは、K を Bar から Foo の 2 番目のパラメーター化された型に相互参照する方法です。
たとえば、
基本的には、これは間違っているようです。
これは次と同じではありません:
後者の場合と同様に、K が一貫した型であることはわかっています。
何か案は?
乾杯
マット
java - ダム データ オブジェクトから Guice によって作成されたオブジェクトへのアクセス
私は思い切って Guice を最新のプロジェクトに使用しました。全体的な印象は良いのですが、なかなか頭に入らない問題にぶつかりました。
背景: これは、ネットワーク経由でコマンドを受け入れ、それらのコマンドを解析し、それらを使用して内部データ構造を変更する Java6 アプリケーションです。当社が製造する一部のハードウェアのシミュレータです。内部データ構造に加えた変更は、コマンドが実際のハードウェアに与える影響と一致するため、データ構造の後続のクエリは、以前に実行されたコマンドに基づいてハードウェアの状態を反映する必要があります。
私が遭遇した問題は、コマンド オブジェクトがこれらの内部データ構造にアクセスする必要があるということです。これらの構造は、エミュレートされるハードウェアの実際のインスタンスによって異なるため、Guice によって作成されています。コマンド オブジェクトは、基本的にダム オブジェクトであるため、Guice によって作成されません。テキスト文字列を受け取り、それを解析し、データ構造のメソッドを呼び出します。
これをすべて機能させる唯一の方法は、これらのコマンド オブジェクトを Guice で作成し、インジェクションを介してデータ構造を渡すことです。それは本当にぎこちなく感じ、データ オブジェクトのコンストラクターを完全に肥大化させます。
ここで何を見逃したのですか?
dependency-injection - Guice: 所有者がどのように注入されたかに応じて、注入されるタイプを変える
特定のタイプの複数のインスタンスを必要とする Guice ベースのアプリがあるため、依存関係を明確にするために名前付き注釈を使用する予定です。ただし、このタイプの依存関係も、取得する依存関係によって異なる必要があります。
説明するために、私が持っているとしましょう
次に、2 つの個別のインスタンスが必要であるとしましょう。
1つのクラスで
別の。
ここで、それぞれの場合に異なるリスナーが必要だとしましょう (1 つはデータベースに何かを書き込み、もう 1 つは JMS 経由または分散キャッシュに通知を送信する場合があります)。どうすればいいですか?ここには 1 つの場所しかないのに、ある状況では別の名前が必要になるため、FooCacheListener に名前を付けることはできません。これを行う唯一の方法は、FooCache をサブクラス化することですが、それは私には非常に不器用なアプローチのようです。
乾杯マット
java - 同じタイプの複数の Guice シングルトンを取得する
基になる同じ型の 2 つのシングルトン インスタンスを取得できますか?
これは、スコープをアタッチする名前付きインスタンスに基づいているため、春には明らかに簡単ですが、型を実装クラスにバインドすることに関する同等のものは見当たりません。問題のインスタンスには偽装によって他の依存関係が注入されるため、インスタンスにバインドする必要はありません。
java - Waffle/Pico から Struts2/Guice への変換
PicoContainer を DI メカニズムとして使用して Waffle Framework で自分で開発したアプリケーションを、フレームワークとして Struts2 を使用し、DI メカニズムとして Guice を使用する新しい「スタック」に変換する作業を担当しました。痛みを最小限に抑えながら、新しいフレームワークと DI メカニズムの両方を最大限に活用する方法について、役立つ指針を持っている人はいますか?
よろしくお願いします。
java - Guice 2.0 での ClassNotFoundException
以下のコードは、Guice 2.0 を使用してエラーを生成します。Guice 1.0 ではすべて問題ありません。JDK は Java 6 update 15 です。
エラーは次のとおりです。
何が問題になる可能性がありますか?
spring - グーグルジン?春と一緒に使用しますか?
私はginがguiceのクライアント側であることを知っています。だからジンを使うために。guiceと一緒に使用する必要がありますか?春と一緒に使えますか?
java - Guiceを使用して動的でジャストインタイムのバインディングを定義するにはどうすればよいですか?
TestNGに基づくテストフレームワークにGuiceを使用しようとしています。このフレームワークは、依存関係についてテストクラスを分析し、テストでそれらを構築する必要をなくします。
Guiceはインジェクションがすべてであり、フレームワークに適していると思います。しかし、問題は、インジェクターを作成した後、どのようにバインディングを定義するかです。これが必要なのは、テストがバインディングをオーバーライドして、デフォルトの実装をモックに置き換える可能性があるためです。
それに加えて、クラス名の規則に基づいて、実行時の実装を推測したい場合もあります。ジャストインタイプのバインディング機能のように聞こえます。しかし、どうすれば自分のジャストインタイムバインディングプロバイダーを提供できますか?
java - Guiceを介してオブジェクトをHttpSessionAttributeListenerに挿入しますか?
構成:Guice 1.0、Apache Tomcat 6.0
現在、Guice Moduleで構成されたオブジェクトを、次のメソッドを使用してサーブレットに手動で挿入しています。
HttpSessionAttributeListenerに同じことを行うにはどうすればよいですか(ライフサイクルメソッドがないため)?