問題タブ [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.
java - Guice + クォーツ + iBatis
Guice (Java)、Quartz スケジューラ、および iBatis ( iBaGuice ) を結び付けて、次のことを実行しようとしています。
- を使用してコマンド ライン ユーティリティ スキャナーを起動します
main()
- フォーマットされた出力 (XML または YAML) を含むファイルのディレクトリ (引数として指定) を定期的にスキャンします
- ファイルが検出されると、解析して結果をデータベースに出力します
問題点:
- この例を使用して、Guice と Quartz を接続しました。ただし、コメントで質問している重要な詳細がいくつか欠けていますが、投稿はやや古いため、ここでも引用しています。
- スケジューラの設定方法は明らかではありません。をどこにどのように配線しますか
Trigger
(使用できますTrigger#makeMinutelyTrigger
)?- 私が実際に実行するジョブのタイプは 1 つだけです。JobFactory#newJob の詳細は
TriggerFiredBundle
パラメーターから来ていることは理解していますが、どこにどのように配線すればよいですか? そして、具体的なジョブをどこで/どのように作成または配線しますか?
PSScheduleProviderを作成して配線することで、もう少し先に進みました。今、この次のスニペットでジョブを実際にスケジュールする方法に行き詰まっています。私のJobFactory#newJob
メソッドが呼び出されていないようです
}
java - commons-loggingまたはlog4jロガーなどのカスタムロガーを挿入するためにGoogle Guiceを取得するにはどうすればよいですか
Google guice には組み込みのロガー バインディングがあります。しかし、commons-logging または log4j ロガーを使用したい場合はどうすればよいでしょうか?
によって作成されたログを挿入するためのガイダンスを取得できますか
ただし、組み込みバインディングと同じ動作をします。
バインディングは、ロガーの名前を、ロガーが注入されるクラスの名前に自動的に設定します。
それは理にかなっていますか?それとも、組み込みの Java Logger を使用するだけですか? それとも、インジェクションなしで commons-logging を使用しますか?
java - Java アプリのプロパティ フレームワーク
私はしばらくの間、私の IOC として春を使用しています。また、Bean にプロパティを注入する非常に優れた方法もあります。
現在、私は IOC がGuiceである新しいプロジェクトに参加しています。Guice を使用して Bean にプロパティを挿入する方法の概念を完全には理解していません。
質問: 生のプロパティ ( string 、 ints ) を私の guice Bean に注入することは実際に可能ですか? 答えが「いいえ」の場合は、Java 用の優れた Properties Framework を知っているかもしれません。現時点では、アプリでの単純なプロパティ管理にResourceBundleクラスを使用したかったからです。しかし、しばらく春を使用した後、これは私にとって真剣に十分ではないようです。
java - Swing アプリケーションでの Guice の使用方法
スパゲッティから Guice による依存性注入を使用するように変換したい Swing アプリケーションがあります。Guice を使用して構成やタスク キューなどのサービスを提供することはうまくいっていますが、アプリの GUI を使い始めたばかりで、どのように進めればよいかわかりません。
アプリケーションは基本的JFrame
に、JTabbedPane
. 各タブはJPanel
、さまざまなコンポーネントをレイアウトし、特定のボタンが押されたときにアクションを実行するサービスを必要とする個別のサブクラスです。
現在のアプリケーションでは、これは次のようになります。
明らかに、これは DI のベスト プラクティスに厳密に従っているわけではありません。@Inject
数十のパラメーターを持つコンストラクターが得られるため、タブを使用する必要はありません。Guice を使用して、必要な依存関係を必要なタブ オブジェクトに注入したいのですが、これらの依存関係をすべてタブ コンストラクターに渡す必要はありません。
タブ オブジェクトのすべての依存関係は、私Module
が知っているサービスなので、基本的に私がやりたいと思うことは、必要なオブジェクトを Guice に要求し、それらを構築してもらうことだけです。
java - オブジェクトを明示的に作成しない Guice プロバイダーを作成するにはどうすればよいですか?
ClassWithManyDependencies があるとします。プログラムでクラスの新しいインスタンスを数回作成するために、このクラスの Guice プロバイダーを作成したいと考えています (別のクラスはこのプロバイダーに依存し、いくつかの時点でそれを使用して新しいインスタンスを作成します)。
これを実現する 1 つの方法は、プロバイダーを ClassWithManyDependencies のすべての依存関係に依存させることです。これはかなり醜いです。
これを達成するためのより良い方法はありますか?
注 - プロバイダーがインジェクターに依存することは絶対にしたくありません。私が検討したもう 1 つのオプションは、ClassWithManyDependencies と ClassWithManyDependenciesProvider で同じ基本クラスを拡張することですが、それは見苦しいものです。
eclipse - Gin / Gwt / Eclipse:com.google.gwt.inject.Injectをタイプに解決できません
Eclipse内でGIN(Guice for GWT)を使用しようとしています。チュートリアルでは、モジュールのxmlファイルに行を追加するように指示されています。
ただし、これを行うと、Eclipseは「com.google.gwt.inject.Injectをタイプに解決できません」というエラーを報告します。
参照ライブラリとしてgin.jar、aopalliance.jar、guice.jarを追加しました。他に何をする必要がありますか?
java - RESTfulサービスにJerseyとGuiceを使用するための実用的なアドバイス
私がオンラインで見つけたものから、Guice + Jersey統合の最先端は、両方のチームが行き詰まったように見える2008年以来停滞しています。問題の核心は、JAX-RSアノテーションがフィールドとメソッドの注入を実行することであり、これはGuice自身の依存性注入とうまく機能しません。
私が見つけたいくつかの例は、解明するのに十分ではありません:
IqbalyusufのJersey+Guice on Google App Engine Javaに関する投稿は、多くの定型文(手動でインジェクターを取得して呼び出す)に悩まされています。バインディングとインジェクションは、Guiceアノテーションを介して舞台裏で行われる必要があります。
Jonathan Curranの記事「Jersey、Guice、およびJSR-250を使用したRESTfulサービスの作成」は、はるかに新しい(2010)ため、希望を与えてくれましたが、GuiceServletModule内でJerseyサービスを開始する方法を示しただけでした。ただし、実際の依存性注入を行う例はありません。それは読者の練習問題として残されたと思います。Curranの投稿は、実際にはGuiceとJerseyを接続するための正しい最初のステップである可能性があるため、それから始める予定です。
食欲をそそるジェームズ・ストラチャンはこう書いています:
JAX-RSは、Spring、Guice、GuiceyFruit、JBossMCなどの依存性注入フレームワークでうまく機能します。基本的にはどちらかを選択できます。
しかし、開業医の観点からは真実であるという証拠は見当たりません。
私が不足しているのは、JAX-RSとGuiceアノテーションを組み合わせる方法に関する実際的な例と説明です。例えば:
- ジャージーがこれを制御したいので、どのリソースでもコンストラクターインジェクションを使用できないと思います
- @Injectを@PathParam、@QueryParamなどと組み合わせることができるかどうかはわかりません。
- MessageBodyWriter実装でインジェクションを使用する方法
プロセスでどちらか一方を犠牲にすることなく、JerseyとGuiceを組み合わせた重要なアプリケーションの例を、できればソースとともに誰かが持っていますか?私は関係なくこの道を進んでいますが、ジャージーとギスのリストの断片は、私の前に来た他の人の仕事を繰り返しているように私に思わせます。
java - マルチバインディングに関するIoCの問題
私はJavaの初心者であり、IoCでもあります。ものを行う方法:
Guiceの例でIoCの方法で?
インジェクターはどのように構成すればよいですか?
dependency-injection - Google Guice の隠れた機能
Google Guice には、優れた依存性注入機能がいくつか用意されています。
最近@Nullable機能に出くわしました。これにより、Guice はデフォルトでこれらを許可しないため、コンストラクター引数をオプション (null を許可) としてマークできます。
例えば
https://github.com/google/guice/wiki/UseNullable
人々が使用する Guice のその他の便利な機能 (特にあまり目立たない機能) は何ですか?
java - Guice は UI スレッドの問題以外で Swing コンポーネントを作成しますか?
IOC コンテナーとして Google Guice を使用して Java Swing アプリケーションに取り組んでいます。物事はかなりうまくいっています。いくつかの UI の問題があります。標準の L&F が Pushing pixel に置き換えられると、UI スレッド外で Guice の Swing コンポーネントが作成されるため、Substance L&F アプリケーションが実行されません。
GUI スレッドで Swing コンポーネントを作成するように Guice に指示する方法はありますか?
作成後に Swing コンポーネントを返すカスタム プロバイダを作成する必要があるかもしれませんSwingUtilities.invokeAndWait(Runnable)
。
アプリケーション全体を UI スレッドで実行するという考えは好きではありませんが、おそらくそれは完璧な解決策です。