問題タブ [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 - GWT アクティビティでの GIN の使用
私の各アクティビティには、対応するシングルトン ビューの実装が必要です。それらを活動に注入するための最良の戦略は何ですか?
コンストラクター注入Activity コンストラクターは、ActivityMapper の getActivity() から呼び出されます。ctor にはすでにパラメーター (Place オブジェクト) があります。考えられるすべてのビューを挿入して ActivityMapper を作成する必要があります。良くない...
メソッド注入- 「そのように注釈が付けられた関数は、コンストラクターが実行された後に自動的に実行されます。」(GWT in Action、第 2 版) さて、アクティビティの
start()
メソッドが呼び出されてNPE。アクティビティの ctor で GWT.create を使用してインジェクターを構築します。それらはシングルトンではなくなるため、役に立ちません。
gwt - PlayNのGinモジュールでGuiceバインディングを使用するにはどうすればよいですか?
コアプロジェクトでGuiceバインディングを使用するPlayNゲームがあるとします。
同じバインディングを使用したいが、ゲームのGWTプロジェクト(Ginを使用)で使用したい場合はどうなりますか?
Javaプロジェクトでは、次のように簡単に実行できます。
これは、GuiceモジュールのconfigureメソッドをGinモジュールに手動でコピーアンドペーストすることなく実現できますか?たとえば、これは回避策として機能しますが、私がやりたいことではありません。
それは機能しますが、控えめに言ってもきれいではありません。
結論:すべてのPlayNプロジェクトで同じバインディングを使用したいと思います。
解決
だから私がしたことはGinModuleAdapter
、答えに基づいて、私のJavaメインでを使用することです:
このようにして、コアクラスのGuiceバインディングも削除できます。
java - EJB 3.1 プロジェクトで Gin と Guice を使用できますか?
EJB3.1 テクノロジを使用して Java EE プロジェクトを開始する予定です。新しい EJB の概念では、Context and Dependency Injection が可能であることは知っています。
古いプロジェクトでは、GWT プロジェクトでGINとGUICEを使用しました。良かった。これらのフレームワークを EJB でも使用できますか? それとも、別のフレームワークの方が適していると思いますか?
経験はありますか?
java - Gin1.5およびGWT2.4でのNoClassDefFoundError
このGWTMVPチュートリアルに従ってGWTWebアプリをまとめようとしていますが、使用されているライブラリのすべてが利用できなくなっているか、GWT 2.4と互換性がないため、使用されているライブラリの新しいリリースを使用しています。
問題は、プロジェクトを実行すると、コンソールに次の情報が表示されることです。
プロジェクトに必要なライブラリと私が持っているライブラリ:
- gin.jar --- gin-1.5-post-gwt-2.2.jar(gin-1.5)
- aopalliance.jar(Google Ginから)--- aopalliance.jar(gin-1.5)
- guice-2.0.jar(Google Ginから。重要-GuiceではなくGinで提供されているバージョンを使用してください)--- guice-snapshot.jar(gin-1.5)
- guice-servlet-2.0.jar(Google Guiceから)--- guice-servlet-3.0.jar(guice-3.0)
- gwt-dispatch-1.0.0-SNAPSHOT.jar(gwt-dispatchから)--- gwt-dispatch-1.2.0.jar
- gwt-log-2.6.2.jar(gwt-logから)--- gwt-log-3.1.8.jar
- gwt-presenter-1.0.0-SNAPSHOT.jar(gwt-presenterから)--- gwt-presenter-1.0.0.jar
- log4j.jar(log4jから)--- log4j-1.2.16.jar
Gwt-presenterには新しいバージョンの1.1.1もあり、これにより追加の問題が発生したため、1.0.0に戻りましたが、それは別の話です。
コードをGitHubにアップロードしています。そのほとんどは、前述のチュートリアルからのコピーアンドペーストですが、わずかな違いがあります。
gwt - GWT アプリケーションは開発モードで実行されますが、コンパイルに失敗します
私の GWT アプリは開発モードで動作しますが、コンパイルすると次のエラーが発生します。
GWT 2.4.0 と GwtPlatform を使用しています。
gwt - Gin/Guice を使用したインスタンスの注入
通常、GWT プロジェクトには次のようなコード パターンがあります。
Gin/Guice を使用して、およびその他の「ビュー」Menu
にインスタンスを挿入するにはどうすればよいですか。ErrorView
そのため、オブジェクトを手動で作成して設定する必要はありませんか?
また、Menu
クラスについては、インスタンス化されるたびに各 Menu インスタンスに渡す必要がないように、「user」オブジェクトと「userController」オブジェクトをどのように挿入できますか。
java - MVC の依存性注入
DI は主に MVP パターンで使用されることは知っていますが、Google Gin は Model-View-Controller フレームワーク/パターンのどこに当てはまりますか?
たとえば、通常、MVC の場合、ビューはモデルへの参照を保持し (変更イベントをリッスンします)、コントローラーはモデルとビューへの参照を保持します。DI を使用して MVC パターンを改善する方法を意味します。
java - ジンによるフィールドレベル注入
フィールドレベルのインジェクションを行おうとしているので、コントローラーがインスタンス化されるときに「モデル」を渡す必要はありません。
ただし、私のアプリケーションは NullPointerException をスローします。ここに私のコード:
ユーザーコントローラー.java
ClientGinModule.java
何が問題なのですか?
gwt - 遅延バインディングが失敗しました
私のアプリケーションはスローしています:
EntryPoint内のこのコードについて:
何が問題なのですか?
完全なエラーログは次のとおりです。