問題タブ [gwt-gin]
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.
gwt - Rpcサービスの変数にGIN@Inject
Injecton変数を使用すると少し迷います。
私はこのコードを機能させました:
このコードを使用すると、クラス内の必要な場所でRPCサービスを呼び出すことができます(クリックすると...)変数に直接挿入してコードを少しクリアしたいと思います。そうする :
これにより、サービスは常にNULLに保たれます。私は何か間違ったことをしていますか?rpcサービスを使用したGINマジックは、他の方法で実行することを目的としていますか?
ありがとう!
gwt - GWT、Guice、GINのコンパイル
GuiceとGinを使用してGWTMVPアプリケーションを構築しようとしています。EclipseプロジェクトにGuiceとGINのjarファイルを追加しましたが、次のエラーが発生します。
私はグーグルで簡単に検索しましたが、ここではGWTSDKに対してGINを再コンパイルする必要があると言っています。また、Ginチュートリアルでは、コンパイル手順について説明しています。
GIN jarをGWTプロジェクトに追加するだけでは不十分ですか、それともソースからgin.jarを生成するために必須ですか?Eclipse(Googleプラグインを使用)でこれを達成するにはどうすればよいですか?
PS:プロジェクトでMavenを使用していません。EclipseとGoogleToolsのみ別のPS:現在Guice 3.0、Gin 1.5、GWT2.3を使用しています
java - Gin で GWT をビルド中に NullPointerException
私のGinモジュールには以下が含まれています:
問題のタイプは次のとおりです。
GWT コンパイルしようとすると、次のエラーが発生します。
ここで何が間違っていますか?行をコメントアウトするbind(HistoryWrapper.class)
と問題は解決しますが、明らかにそのタイプのバインディングが必要です。
メソッドを使用しようとすると、同様のエラーが発生しました@Provides
。
更新:現在、別の NPE を取得していますが、理由がわかりません:
gwt - GINバインディングのスコープは何ですか?
2つのバインディングに続くスコープにはどのようなものがあるのでしょうか。
と
JavaDocsを読みましたが、次のとおりです。シングルトンの場合:
スコープなし:
これは実際にはどういう意味ですか?シングルトンはクライアントごとですか、それともJVMごとですか?スコープがない場合、すべてのインスタンスは異なりますか?
gwt - GWT GIN フィールド レベル インジェクション
GWT プロジェクトで GIN を使用して評価しており、コンストラクター引数を介した典型的な注入で良好な結果が得られています。私たちが苦労したのは、フィールドレベルの注入です。フィールドは常に null になります。GINでファイルレベルの注入を適切に達成する方法の良い例はありますか?
アップデート:
以下は、私たちのものに似たコードの例です。
上記のコードでは、GIN を含まないコードのほとんどを削除しました。DetailPresenter が必要とする TestPresenter は正常に注入されますが、TestPresenter が必要とする HandlerManager は常に null です。ご覧のとおり、注入された HandlerManager はコンストラクターで使用されていません。
java - 実行時にGWTからジェネリックパラメータタイプを取得することは可能ですか?
問題: GWT クライアント側にタイプ T のジェネリック スーパー クラスがあります。サブクラスは実行時に (GIN を使用して) 生成され、ジェネリック パラメータが初期化されます。具体的なサブクラスのジェネリック パラメータ タイプを実行時に取得できますか?
JRE 環境 (Class.getGenericSuperclass と Class.getActualTypeArguments を使用) で実際の型を取得できますが、GWT 環境でそれを行う方法がわかりません。いくつかの GWT 3rd リフレクション ライブラリを検索しましたが、この機能をサポートしていないようです。GWT から実行時にジェネリック パラメータ タイプを取得することは可能ですか? そうでない場合、回避策はありますか?
どうもありがとう。
プロジェクトを見つけました: コンパイル時にリフレクション情報を生成する gwt-preprocessor は、場合によっては非常に便利です。
generics - GINを使用したジェネリック実装へのジェネリックインターフェイスのデフォルトバインディングを作成するにはどうすればよいですか?
私は私たちのプロジェクトでGoogleGINを試していますが、一般的なインターフェイスとそのインターフェイスの一般的な実装がある場合に遭遇しました。
これで、コンストラクターにIFaceを挿入する必要があるインターフェイスのユーザーができました。
でインターフェースを実装にバインドしようとするとbind(IFace.class).to(Face.class);
、インジェクションは次のように失敗します。
そのため、GINはのバインディングを検出せずIFace<String>
、フォールバックしIFace
てバインディングを使用して試行しGWT.create(IFace.class)
ます。
私も試しましたがbind(new TypeLiteral<IFace>(){}).to(new TypeLiteral<Face>(){});
、bind(new TypeLiteral<IFace<?>>(){}).to(new TypeLiteral<Face<?>>(){});
成功しませんでした。
にバインドできることはわかってIFace<String>
いFace<String>
ますが、それは、多くの繰り返しコードを含む巨大なモジュールにつながる可能性があります。を使用することも可能です@ImplementedBy(Face.class)
が、それはオプションではありません。
使用する必要のある魔法のbind(...).to(...)
組み合わせはありますか?これはGINでも可能ですか?
gwt - GWT アプリケーションで GIN とカスタム Bean バリデーターを組み合わせることができません (コンパイラー・エラー)
GWT アプリケーション (GWT 2.4) で GIN とカスタム Bean バリデーターを組み合わせるのを手伝ってくれませんか?
GWT コンパイラで次のエラーが表示されます。
私のGINモジュールは次のようになります
NewOrderView
ちょうど伸びるところComposite
。
私.gwt.xml
のモジュールには、次の手順があります
だから、GINはJavaコードでこれを知りたがっているのではないかと思ったので、GINモジュールを変更しました。
しかし、エラーメッセージが大きくなりましたが、役に立ちませんでした:
更新: 詳細な GWT コンパイラ出力:
何をすればよいでしょうか ?
gwt - gin管理対象オブジェクトの作成をカスタマイズするか、同じクラスの2つの異なるインスタンスを作成します
同じクラスの2つのインスタンスを作成し、それらに異なるプロパティを注入してから、それらの2つのオブジェクトをアプリケーションの2つの特定の場所に注入できるようにしたいと考えています。
現在、ClientModuleにメソッドがあります...
そして、プレゼンターなどで次のことを行います。
そしてそれは素晴らしい働きをします。対応する@Namedアノテーションに基づいて、正しいBeanを取得します。
ただし、このアプローチには、@ProvidesメソッドでMainBeanのすべての依存関係を作成して注入する必要があるという弱点があります。
したがって、SecondaryBeanの@Injectアノテーションは、たとえば尊重されません。
私にできることの1つは、関連する依存関係をgetMainBeanメソッドに渡すことですが、別のより洗練された、またはより優れたソリューションがあるのではないかと考えています。
誰かアイデアがありますか?
gwt - GWTP アプリケーションでの GIN バインディングの問題
みんな!3 つのモジュールに分割されている GWT アプリでコンパイルの問題が発生しています: App-core: エントリ ポイントのないメイン クラスを含む、App-A と App-B: App-core から継承し、そこに特定のクラスを含む各サブモジュールにエントリ ポイントがあります。
GIN を使用して、すべてのモジュールにクラス インスタンスを挿入しています。
アプリコア:
App-A:
そして、App-B でも同じことを行います
Maven のコンパイルは App-A では成功しますが、App-B では失敗し、次のメッセージが表示されます。
したがって、これらすべての奇妙な部分は、このエラーがこれら 2 つのサブモジュール間の共有モジュールから発生することです。魔女は LoginPagePresenter と AuthentificationManager のバインディングですが、このコンパイル エラーは 1 つのサブモジュールでのみ発生します。もし誰かがこの問題の王様を抱えていたら、私は彼の貴重な助けを待っています ^^
ああ!精度が必要な場合は、恥ずかしがらないでください!!