0

プロトタイプとしてスコープするオブジェクトがあり、コンストラクター引数の値は実行時に決定されます。このプロトタイプのインスタンスを作成するには、静的ファクトリメソッドを使用する必要があるように思われます。これは本当ですか、そしてドキュメントのどこでその事実を述べているのを見つけることができますか?実行時に決定されたコンストラクター値または参照について説明しているものは何も見つかりませんでした。すべてのサンプルには、起動時に明示的に定義された値があります。

4

2 に答える 2

2

基本的に、実行する必要があるのは次のとおりです。

applicationContext.getBean("beanName", new Object[]{arg1, arg2, arg3});

<bean id="beanName" class="my.package.className" scope="prototype">
  <constructor-arg index="0" type="java.lang.String" value=""/>
  //etc
</bean>

それ以外の点でクラスにスプリングフリーがあり、そのapplicationContext依存関係がクラスを台無しにしたくない場合は、ファクトリメソッドが望ましい場合があります。

メソッド置換を使用して、ばねに依存するコードを分離することもできます。

于 2012-06-27T18:41:26.937 に答える
0

チェックアウトlookup-method(4.4.6.1ルックアップメソッドインジェクション)。現在、新しく作成されたプロトタイプBeanへの引数の受け渡しはサポートされていませんが、間もなく可能になります

于 2012-06-27T19:06:23.893 に答える