パラメータを使用してSpringルックアップメソッドを挿入する方法はありますか?たとえば、プロトタイプスコープのBeanをコンストラクタを介して任意のパラメータに渡しながらインスタンス化できるようにしたいと考えています。パラメータを持つSpringルックアップメソッドの注入
7
A
答えて
2
フィールド/セッター注入によって注入できます。 (コンストラクタインジェクションは、サポートされていますが、春になると目が覚めます)
0
です。 Springは "メソッドインジェクション"と呼ばれるものをサポートしていますが、あなたが考えているものとは異なります。 Springはコンストラクタインジェクションをサポートしていますが、あなたはコンストラクタを自分で呼び出すのではなく、Springはそれを配線しています。
代わりに、クラスをインスタンス化し、任意のパラメータを自分で渡すためにリフレクションを使用することができます。
Class<MyObject> clazz = MyObject.class; // this can be looked up or stored in a field, etc.
MyObject myObject = clazz.getConstructor(String.class, int.class)
.newInstance("arbitrary parameter", 42);
1
この重要な機能は、最終的には春4.1.0.RC2で追加されたように見えます。私はそれを試して、それは動作するようです。
これはJIRAチケットSPR-7431 ("Passing lookup-method arguments to created bean constructor")の一部として添加した:
<ルックアップ方法/>は、任意の数のパラメータを指定できるようにすべきです。これらのパラメータは、新しく作成したBeanのコンストラクタに直接渡す必要があります。
機能が最後に追加された方法の詳細については、this blog postがJIRAチケットを開いた人によって書かれています。
関連する問題
- 1. たくさんのフィールドを持つSpringコンストラクタの注入
- 2. 複数のパラメータを持つUnity/Caliburn Micro、注入コンストラクタ
- 3. 複数のパラメータを持つSpringセキュリティログイン
- 4. 複数のパラメータを持つRESTful Springサービス
- 5. 注入パラメータ
- 6. 注入URL()Spring Autowired
- 7. Spring:フィールドとコンストラクタの両方の注入を持つクラスの単体テスト
- 8. 4つの入力パラメータを持つカルマンフィルタ
- 9. ダガー2注入パラメータ
- 10. spring new arrayListの注入
- 11. ロンボク - コンストラクタの入力パラメータでフィールドの注釈を保持
- 12. @ServerEndpointとSpring MVC注入
- 13. Java Spring注入文字列
- 14. @Notnull Springカスタム注釈バリデーション複数のフィールドを持つ
- 15. spring portlet mvc:パラメータを保持
- 16. Spring @注入フィールド間の注入フィールド検証@
- 17. Spring依存性注入、シングルトンBeanの注入
- 18. 入力パラメータを持つSQLCLRストアドプロシージャ
- 19. C++ 11スレッドプール - 入力パラメータを持つタスク
- 20. 同じクラス名を持つ2つのbeanを注入する
- 21. Scalaマクロの注釈 - 型パラメータを持つケースクラス
- 22. 複数のパラメータを持つ注釈定義
- 23. 注入されたマルチバリューマップ(アプリケーション/ x-www-form-urlencoded)を持つ注入プロバイダ
- 24. 二つの注文パラメータ - レール
- 25. .netコアを持つNLogのための注入サービスを持つカスタムターゲット
- 26. Springの注入タイプの違い
- 27. Spring - ServletContextListenerへの依存性の注入
- 28. BeanプロパティへのSpring Spel式の注入
- 29. MULTIPART_FORM_DATA:レスポンスタイプのパラメータの注入源が見つかりません
- 30. 複数のパラメータを持つSpringデータjpa joinクエリ
コンストラクタ注入よりもセッタ注入が優先されるのはなぜですか?私は彼らが同等だったと思った。 –
コンストラクタインジェクションは、インスタンス化する循環依存をより困難にするかもしれません。 – Bozho
@Bozho:実際には良いことです...循環依存関係を使うべきでしょうか? – TWiStErRob