問題タブ [guice-3]

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.

0 投票する
1 に答える
1203 参照

java - Guice: 補助リストを注入できません

Guice の使用方法を学習し始めたばかりで、アシスト インジェクションの設定に問題があります。私は次のインターフェースを持っています:

工場での作成になります。コンストラクターは long のリストを受け取る必要があります。

実装クラスには、リストを受け取る @Assisted パラメータがあります。

最後に、これが私のモジュール クラスです。

問題は、プロジェクトを実行すると次のエラーが表示されることです。

アシストされたパラメーター (注釈だけでなくパラメーター自体) を削除するだけで、すべて正常に動作します。何が間違っているのかわかりません。見つけたすべての Guice チュートリアルに従いましたが、List<>; を使用した補助パラメーターの例が見つかりませんでした。ただし、たとえば、このパラメーターを整数に変更しても、同じエラーが発生します。

0 投票する
1 に答える
5007 参照

java - guice で FactoryModuleBuilder で Assisted Inject を使用する - ファクトリ インジェクションが行われていない

私は、FactoryModuleBuilder を使用して Guice で支援された注入を実装する方法を理解しようとしている Guice 初心者です。FactoryModuleBuilderの実装については、Guice Java ドキュメントを参照しました。

ドキュメントに記載されているとおりにすべてを行いました。工場に注入していません。このスタック オーバーフローの質問を参照しました。Guice AssistedInject は、同じ問題が発生したファクトリを注入しません。コンストラクター注入問題の前のフィールド注入について話します。私はそれに従い、呼び出し元クラスを使用して親クラスを呼び出そうとしていますが、まだヌルポインター例外が発生しています。ここで何がうまくいかないのですか?

呼び出し元クラス

私はまだ例外を取得しています:

親クラス

モジュールの実装: ParentModule

工場インターフェース: MyFactory

クラス インターフェイス : Foo

クラス:FooImpl

0 投票する
1 に答える
146 参照

java - Guice でインターフェースの実装タイプを取得する

依存性注入を行うために Guice 3 を使用しています。

インターフェイスにバインドされている実装タイプを知る必要がある特定のユース ケースがあります。これを可能にする Guice のメカニズムはありますか?

0 投票する
0 に答える
146 参照

proguard - Guice マルチバインディングとプロガード

Androidにroboguice + guiceマルチバインディングを使用しようとしています。プロガードをスキップすると、アプリはうまく機能しています。proguard がオンの場合、次のようなランタイム エラーが発生しました。

proguard.properties は、標準の roboguice ライブラリに対して正しく設定されています。Multibindings 拡張機能を追加したときに問題が発生しました。

誰かがこれらで働いたことがありますか?

0 投票する
2 に答える
3009 参照

java - 動的依存性注入

DYNAMIC 依存性注入を実現したい。GUICE はこれをサポートしていますか? そうでない場合、他の DI フレームワークをお勧めできますか?

@Inject を介したインジェクションに使用する必要がある実装は、実行時に、たとえばユーザーとの対話によって決定する必要があります。

これらの質問と同様: http://www.panz.in/2008/12/dynamic-dependency-injection.html http://www.panz.in/2008/12/dynamic-dependency-injection.html

ありがとうございました

0 投票する
1 に答える
876 参照

java - Quartz タスク、Stripes ActionBeans、および ServletContextListeners への Guice シングルトン サービス インジェクションを行う適切な方法は?

現時点では、静的シングルトンを使用して、Guice 3.0 が DI を介して構築するシングルトン サービスを取得しています。これはひどいハックであり、DI に Guice を使用する意図された方法ではまったくなく、単体テストを複雑にしています。

ただし、少なくとも 4 つの異なる場所でそのサービスが必要なため、それを修正する方法がよくわかりません。

  • Stripes ActionBeans - Stripes Guice プラグインが役立つと思います。接続はしましたが、最終的に複数の並列 MyServices が作成されました。
  • ServletContextListener - Guice Servlet モジュールが何らかの形で役立つ可能性があると思いますが、web.xml を Guice 構成に置き換えること (この時点では私の優先事項ではありません) と HttpServletRequests を Guice で構築されたオブジェクトに注入すること (再びやりたいことではない)
  • Quartz Jobs - ここで関連するものを見つけましたが、他のものと「並列」の MyService を作成することになるかどうかはわかりません
  • コマンドラインからバッチプロセスを実行 - これは簡単な部分です

MyService サービスはシングルトンであることを意図しています (開いている DB/MQ 接続などを所有する他のサービスであるため、これらを複数作成するのは適切ではありません)。

私が見逃しているGuiceでこれを行う簡単な方法はありますか?

0 投票する
1 に答える
135 参照

java - 後で注入されるオブジェクトをクラスに渡す方法

私はGoogle Guiceにかなり慣れていません。

nexus がいくつかのクラスを注入する nexus プラグインを作成しています。たとえば、クラス Aに注入されるクラスを言います。

クラス A が注入される前に、インスタンス化された別のクラス Bがあり、その中にオブジェクト (obj など) が初期化されるメソッドがあります。

この初期化されたオブジェクトをクラス A に渡す必要があります。

通常、インスタンス化が私たちの管理下にある場合、私は次のようにします

しかし、クラスがシステムによって注入されることを考えると、この初期化されたオブジェクトをこのクラス A に渡す方法がわかりません。