問題タブ [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.
java - Gin AssistedInject: 遅延バインディングの結果の型 'Foo' は抽象であってはなりません
GWT 2.4.0 で Gin で AssistedInject を使用しようとしています。
私のジンモジュールでは:
それで十分だと思われますよね?ElevatorButtonFactory
しかし、注入されたパラメーターとして取得しようとすると、次のエラーが発生します。
[エラー] [foo] - 据え置きバインディングの結果タイプ 'com.foo.html.client.components.floorpicker.ElevatorButton.ElevatorButtonFactory' は抽象であってはなりません
私は何を間違っていますか?
dependency-injection - カスタム アノテーションによる Guice Assisted Injection
現時点では、次のような名前付きパラメーターでアシスト インジェクションを使用しています。
これはうまくいきます。しかし、パラメーターの識別子として文字列を使用するのは少し見苦しいと思います。私がやりたいことは次のとおりです。
したがって、基本的には、カスタムの補助注釈が必要です。これを行う方法はありますか?
spring - Spring: 複雑なオブジェクトの作成
spring のアノテーションを使用して複雑なオブジェクトを作成しようとしました@Autowired
が、できないようです。
私は 2 つのオブジェクトを作成しようとしています:View
とPresenter
、prototype
スコープを使用して、それらの参照を相互に注入します。さらに、インスタンスの作成者から 2 つの追加パラメーターを渡し、IoC コンテナーからいくつかの追加サービスを注入したいと考えています。
Guiceでは「補助注射」で可能ですが、どうすれば春にそれを達成できますか?
guice - アシスト付きインジェクションを介して作成コンテキストを Guice マネージド インスタンスにインジェクトする
作成されたオブジェクトへのアシスト注入を介してオブジェクトを作成したメソッドの名前を発見/注入できるようにしたいと思います。
私がやりたいことの例:
残念ながら、これを実装するためにこれまでに考えた唯一の方法は、
- アシスト インジェクションを (コピー アンド ペーストで) 拡張して機能を追加する
- 私のためにそれを行う補助注射に非常に似たものを書いてください
- 偽りの助けを借りずにこれを行うボイラープレートをたくさん書く
次のような解決策を探しています。
- これを行ういくつかのguice構成またはパターン
- これを行う拡張機能
- これを自分で書くのに役立つドキュメント/場所の例
- 私がやりたいことを達成するためのサンプルアプリの代替パターン
java - 入力リストの Guice FactoryModuleBuilder
Guice アシスト インジェクションと FactoryModuleBuilder を使用して、あるクラスが別のクラスをラップするアダプター クラスの構築を支援しました。
MyClassWrapper.Factory インターフェイスに別のメソッド シグネチャを追加したいとします。
FactoryMethodBuilder は、MyClass オブジェクトのリストから MyClassWrapper オブジェクトのリストを構築したいことを理解できますか? または、ファクトリ メソッドの実装を手動で記述する必要がありますか?
java - どの AssistedInject を使用すればよいですか? グーグルかソナタイプか?
私は に非常に慣れていないため、アプリケーションGuice
で必要AssistedInject
です。Maven で Jar を調べたところ、次の 2 つがあることがわかりました。
Sonatype のバージョンの方が最近更新され、バージョン番号が新しいのですが、実際に Google と Guice によって正式にサポートされているのでしょうか? それとも独自のネクサスですか?
java - Guice AssistedInject はファクトリを注入しません
Guice 3.0 を使用しようとしてAssistedInject
いますが、ファクトリがインスタンス化されません。
SSCCE コード:
親クラス
工場インターフェース
モジュール
FooImpl
BarImpl
に非常によく似ていFooImpl
ます。ここで何がうまくいかないのですか?@AssistedInject
私は両方と@Inject
ここで試したことにも注意してください。両方ともエラーが発生します。
出力:
行 9 は、への最初の呼び出しの行であることに注意してください。myFactory.create()
java - Guice を使用してオブジェクト グラフに特定のクラスを構築する
Guice を使用して特定のグラフを作成しないことを早い段階で決定した状況に陥っています。工場が必要ですが、それを構築する方法がわかりません。
私が達成したのは、セッション対応のゲーム オブジェクト管理システムです。
この作業に関与する必要があるすべてのオブジェクトは正常に機能します。
それらはすべて、インジェクション、プロバイダー、Guice ファクトリーなどによって作成されます。
このレベルで本当に管理できるようにする必要がある 1 つのオブジェクトは、Items です。
アイテムは、私が作成していない 1 つのオブジェクトでもあります。
また、アイテムには、クライアントが事前に知っている複雑なクラス階層がありますが、プラットフォーム コードにはありません。元の設計では、自分の工場を構築して、guicified コンポーネントを使用してこれらのオブジェクトを正しく構築できるようにしました。
これらのオブジェクトは管理レイヤーに参加する必要があるため、これは今までうまく機能していました。
現在の実装は次のとおりです。
私の現在の非Guiceの実装は、このように少し見えます
サブタイプは私にはまったく不明であり、通常はクライアント モジュールによって提供されます。Guice で作成されたオブジェクトを使用して、開発中のゲーム フレームワークで管理された状態を提供できるという注釈がいくつかあります。
item を除くすべてのオブジェクトでうまく機能します...それらは Guice で作成されたオブジェクトではないためです。
私はむしろこのようなものを望みます:
Guice は一般的な静的型をキーとして使用できないため、何を構築すればよいかわかりません。特定のものにバインドしたり、特定のものにバインドするように依頼したりすることはできないため
guice でビルドできずに困っています。ただし、これを Guice で作成する必要がある AOP コードがいくつかあります。
アプリケーションからサブタイプを作成できる場合、それらのサブタイプは、マネージド ゲーム ステート AOP レイヤーに参加できます。
どんなアドバイスも大いに役立ちます。
質問の言い換えに関するアドバイスも大歓迎です。
java - @Nullable は @AssistedInject では機能しないようです
次のようなコンストラクタがあります。
そして、次のエラーが発生します(パラメーターごとに2回、1回)
何が間違っているのですか?この問題について他に 2 つの質問を見つけました。そのうちの 1 つは、私が持っているとは思わない依存関係の問題であると言いました。 Mavenプロジェクトをゼロから作成しているため、何が問題なのかわかりません。
実行時に保持されるはずのjavax.annotation.Nullableを使用しています。他に何を試す必要がありますか?
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を使用しています。
ありがとう、
ケーシー