問題タブ [constructor-injection]

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

spring - Spring コンストラクターの依存関係 インジェクションの問題

私は2つのクラスを持っています

私は以下のようなXmlを持っています。

プロジェクトをビルドしてサーバーを起動すると、以下の例外が表示されます。

この方法でコンストラクターを注入する際に何が問題になるのかわかりません。これに対する解決策はありますか?

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

android - Roboguiceのコンストラクターを介してパラメーターを挿入するにはどうすればよいですか?[アンドロイド]

この質問は、おそらくこの1つの PassパラメーターをGuiceを使用してコンストラクターに正確に複製したものです。

違いは、GuiceだけでなくAndroidにもroboguiceを使用しているため、そこでの回答が機能しないことです。

質問は-作成されたオブジェクトに初期化パラメータを渡すにはどうすればよいですか?つまり、roboguiceが知らないパラメータで初期化する必要があるインターフェイスを挿入しました。

私が提供するリンクに表示されているものは、ファクトリインターフェイスを作成し、次のように登録する必要があります


しかし、FactoryModuleBuilderクラスが見つかりません。私はIntellijIDEAを使用しています。現在の場所でアクセスできるすべてのクラスを表示でき、「Factory」という単語で始まるクラスがないことを100%確信できます。

roboguiceを使用してファクトリを作成するにはどうすればよいですか?

更新しました

guice-assistedinjectをダウンロードするのを忘れました。しかし、それでもこの工場をどこに登録すればよいのかわかりません。

更新2

なぜそれが必要なのですか?ある抽象化には、Roboguiceでは解決できない依存関係があるはずだからです。この依存関係は、単純な文字列や数値であっても、任意のタイプにすることができます。

私の場合、UIにNumberPickerコントロールがあり、MyNumberPickerWrapperクラスのすべてのUI固有のタスクを移動したいと思います。そして、このラッパーを作成するときに、コンストラクターを介してその依存関係(このコントロール)を挿入します。

私がそのようなアプローチで正しいかどうかは重要ではありませんが、コンストラクターの注入が必要であり、この注入されたクラスをRoboguiceで作成できなかった、より適切な例がたくさんある可能性があります

0 投票する
3 に答える
3520 参照

java - Spring オーバーロード コンストラクター インジェクション

これはコードです:

Spring 構成ファイルは次のとおりです。

Spring によって呼び出されるコンストラクターを決定する特定のルールはありますか?

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

refactoring - resharperを使用してクラスを抽出し、コンストラクターの依存関係を導入する

Resharperを使用して、以下のメソッドEatが別のクラスに抽出され、新しく抽出されたDinnerクラスが外部依存関係としてクラスに挿入されるようにコードをリファクタリングすることは可能ですか?

元のコード

リファクタリングされたコード

リファクタリングされたコードとまったく同じである必要はありません。これは、アイデアを与えるために示されています。

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

c# - Castle Windsor でジェネリック引数を渡せない

Castle Windsor でパラメーター化されたインスタンスを作成しようとすると、ジェネリック引数を渡すことに問題があるようです

ジェネリック引数を渡さないデモ

コンソール出力

以下のパラメーターなしのコンストラクターをコメントアウトすると、次の例外が発生します。

2 つのコンストラクターを持つデモ クラス

解決策/回避策?

  • 非ジェネリック型を作成して非interface ISimpleSandCoordinator : ISandCoordinator<Simpleton>ジェネリック インターフェイスを登録すると、パラメーター化された解決が機能することはわかっていますが、ジェネリック型の使用をやめたくありません。
  • これは、Castle Windsor のバグとして報告する必要がありますか?

[ Castle.Core.dll と Castle.Windsor.dll 3.1.0 (2012-08-05) の使用]

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

c# - Argument passed is not favored over default implementation in Castle Windsor

I would like to prefer the parameter implementation over an implementation registered by default, but it does not work.

Demo of Incorrect Preference

Console Output

How to Invert the Preference?

  • I need to be able to ignore the default registered dependency and instead Castle Windsor resolve using the supplied argument as the ISimpleton dependency?
  • Do I need to implement my own IDependencyResolver? How?
  • Or are DynamicParameters useful here?

Supplied Dependency - Simpleton Class

Resolved Type - SimpletonManager


[ Using Castle.Core.dll and Castle.Windsor.dll 3.1.0 (2012-08-05) ]

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

c# - スタートアップ構成の問題

私は持っていViewます:

そして適切なViewModel:

UPD (@Blachshma の回答に基づく): コードを使用して StartWindow ビューをアプリに挿入できません:

パラメーターなしのコンストラクターは App.g.cs によって必要とされるため:

app.csここで、viewviaでインスタンス化したいと思いますconstructor injection。私はそれのために何をすべきですか?

また、m looking for best practices forMEF /MVVM` ソリューション (このためのサンプル コードは素晴らしいアイデアです)。

PS .NET 4.5

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

dependency-injection - コンストラクター注入/依存性注入-'root'クラスの処理

私は最近、多くの依存性注入、テスト駆動開発、および単体テストを使用していて、それが好きになり始めています。

クラスでコンストラクターの依存関係を使用しているので、単体テスト用にモックの依存関係を挿入できます。

ただし、実際に本番環境でオブジェクトが必要な場合、これに対処するための最良の方法は何ですか?

DependencyInjectionContainer.Get<MyClass>()クラスを作成したい場所で使用しますか?または、DIコンテナを介してすべての依存関係を解決する、クラスの空白のコンストラクターを作成する方が理にかなっていますか?

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

exception-handling - WebApi Controller コンストラクターで失敗する正しい方法は何ですか?

コンストラクターを介してサービスを必要とする WebApi コントローラーがあります。このサービスが null の場合、通常はNullArguementException. これは WebApi コントローラーのコンテキストで失敗する正しい方法ですか、それとも別のパターンがありますか。