問題タブ [assisted-inject]

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 に答える
1347 参照

java - Gin AssistedInject: 遅延バインディングの結果の型 'Foo' は抽象であってはなりません

GWT 2.4.0 で Gin で AssistedInject を使用しようとしています。

私のジンモジュールでは:

それで十分だと思われますよね?ElevatorButtonFactoryしかし、注入されたパラメーターとして取得しようとすると、次のエラーが発生します。

[エラー] [foo] - 据え置きバインディングの結果タイプ 'com.foo.html.client.components.floorpicker.ElevatorButton.ElevatorButtonFactory' は抽象であってはなりません

私は何を間違っていますか?

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

dependency-injection - カスタム アノテーションによる Guice Assisted Injection

現時点では、次のような名前付きパラメーターでアシスト インジェクションを使用しています。

これはうまくいきます。しかし、パラメーターの識別子として文字列を使用するのは少し見苦しいと思います。私がやりたいことは次のとおりです。

したがって、基本的には、カスタムの補助注釈が必要です。これを行う方法はありますか?

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

spring - Spring: 複雑なオブジェクトの作成

spring のアノテーションを使用して複雑なオブジェクトを作成しようとしました@Autowiredが、できないようです。

私は 2 つのオブジェクトを作成しようとしています:ViewPresenterprototypeスコープを使用して、それらの参照を相互に注入します。さらに、インスタンスの作成者から 2 つの追加パラメーターを渡し、IoC コンテナーからいくつかの追加サービスを注入したいと考えています。

Guiceでは「補助注射」で可能ですが、どうすれば春にそれを達成できますか?

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

guice - アシスト付きインジェクションを介して作成コンテキストを Guice マネージド インスタンスにインジェクトする

作成されたオブジェクトへのアシスト注入を介してオブジェクトを作成したメソッドの名前を発見/注入できるようにしたいと思います。

私がやりたいことの例:

残念ながら、これを実装するためにこれまでに考えた唯一の方法は、

  1. アシスト インジェクションを (コピー アンド ペーストで) 拡張して機能を追加する
  2. 私のためにそれを行う補助注射に非常に似たものを書いてください
  3. 偽りの助けを借りずにこれを行うボイラープレートをたくさん書く

次のような解決策を探しています。

  1. これを行ういくつかのguice構成またはパターン
  2. これを行う拡張機能
  3. これを自分で書くのに役立つドキュメント/場所の例
  4. 私がやりたいことを達成するためのサンプルアプリの代替パターン
0 投票する
1 に答える
316 参照

java - 入力リストの Guice FactoryModuleBuilder

Guice アシスト インジェクションと FactoryModuleBuilder を使用して、あるクラスが別のクラスをラップするアダプター クラスの構築を支援しました。

MyClassWrapper.Factory インターフェイスに別のメソッド シグネチャを追加したいとします。

FactoryMethodBuilder は、MyClass オブジェクトのリストから MyClassWrapper オブジェクトのリストを構築したいことを理解できますか? または、ファクトリ メソッドの実装を手動で記述する必要がありますか?

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

java - どの AssistedInject を使用すればよいですか? グーグルかソナタイプか?

私は に非常に慣れていないため、アプリケーションGuiceで必要AssistedInjectです。Maven で Jar を調べたところ、次の 2 つがあることがわかりました。

Sonatype のバージョンの方が最近更新され、バージョン番号が新しいのですが、実際に Google と Guice によって正式にサポートされているのでしょうか? それとも独自のネクサスですか?

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

java - Guice AssistedInject はファクトリを注入しません

Guice 3.0 を使用しようとしてAssistedInjectいますが、ファクトリがインスタンス化されません。

SSCCE コード:

親クラス

工場インターフェース

モジュール

FooImpl

BarImplに非常によく似ていFooImplます。ここで何がうまくいかないのですか?@AssistedInject私は両方と@Injectここで試したことにも注意してください。両方ともエラーが発生します。

出力:

行 9 は、への最初の呼び出しの行であることに注意してください。myFactory.create()

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

java - Guice を使用してオブジェクト グラフに特定のクラスを構築する

Guice を使用して特定のグラフを作成しないことを早い段階で決定した状況に陥っています。工場が必要ですが、それを構築する方法がわかりません。

私が達成したのは、セッション対応のゲーム オブジェクト管理システムです。

この作業に関与する必要があるすべてのオブジェクトは正常に機能します。

それらはすべて、インジェクション、プロバイダー、Guice ファクトリーなどによって作成されます。

このレベルで本当に管理できるようにする必要がある 1 つのオブジェクトは、Items です。

アイテムは、私が作成していない 1 つのオブジェクトでもあります。

また、アイテムには、クライアントが事前に知っている複雑なクラス階層がありますが、プラットフォーム コードにはありません。元の設計では、自分の工場を構築して、guicified コンポーネントを使用してこれらのオブジェクトを正しく構築できるようにしました。

これらのオブジェクトは管理レイヤーに参加する必要があるため、これは今までうまく機能していました。

現在の実装は次のとおりです。

私の現在の非Guiceの実装は、このように少し見えます

サブタイプは私にはまったく不明であり、通常はクライアント モジュールによって提供されます。Guice で作成されたオブジェクトを使用して、開発中のゲーム フレームワークで管理された状態を提供できるという注釈がいくつかあります。

item を除くすべてのオブジェクトでうまく機能します...それらは Guice で作成されたオブジェクトではないためです。

私はむしろこのようなものを望みます:

Guice は一般的な静的型をキーとして使用できないため、何を構築すればよいかわかりません。特定のものにバインドしたり、特定のものにバインドするように依頼したりすることはできないため

guice でビルドできずに困っています。ただし、これを Guice で作成する必要がある AOP コードがいくつかあります。

アプリケーションからサブタイプを作成できる場合、それらのサブタイプは、マネージド ゲーム ステート AOP レイヤーに参加できます。

どんなアドバイスも大いに役立ちます。

質問の言い換えに関するアドバイスも大歓迎です。

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

java - @Nullable は @AssistedInject では機能しないようです

次のようなコンストラクタがあります。

そして、次のエラーが発生します(パラメーターごとに2回、1回)

何が間違っているのですか?この問題について他に 2 つの質問を見つけました。そのうちの 1 つは、私が持っているとは思わない依存関係の問題あると言いました。 Mavenプロジェクトをゼロから作成しているため、何が問題なのかわかりません。

実行時に保持されるはずのjavax.annotation.Nullableを使用しています。他に何を試す必要がありますか?

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

gwt - 工場での GIN AssistedInject の問題「バインディングを作成または継承できません」

Assisted Injection を使用しているときに、私が乗り越えることができない奇妙なエラーが発生しています。

必要なノードへのパス:

com.projectname.client.application.resourceworkspace.ResourceWorkspacePresenter [com.gwtplatform.mvp.client.gin.AbstractPresenterModule.bindPresenter(AbstractPresenterModule.java:122)] -> com.jorsek.editor.gin.EditorClientFactory [@Inject com のコンストラクター.projectname.client.application.resourceworkspace.ResourceWorkspacePresenter]

すべてをセットアップする方法は次のとおりです。

私の工場:

私のモジュール:

com.jorsek.editor.impl.SyncedDOMModel:

これは、使用するために工場を注入しようとしている方法です。

そして、これは私が自分の工場を使用しようとしている方法です(ただし、これまでに到達することはありません):

なぜこれが起こるのか誰にもわかりますか?

それが役立つ場合、私はGWTP RC2を使用しています。

ありがとう、

ケーシー