69

私は常に「プロトタイプ」を使用してきましたが、その代わりに配置できる他のパラメーターはありますか?

私が話していることの例

<bean id="customerInfoController" class="com.action.Controller" scope="prototype">
    <property name="accountDao" ref="accountDao"/>
    <property name="utilityDao" ref="utilityDao"/>
    <property name="account_usageDao" ref="account_usageDao"/>  
</bean>
4

9 に答える 9

34

Spring では、Bean スコープを使用して、Spring コンテナーから呼び出し元に返す必要がある Bean インスタンスのタイプを決定します。

5 種類の Bean スコープがサポートされています。

  1. シングルトン : Spring IoC コンテナーごとに単一の Bean インスタンスを返します。この単一のインスタンスは、そのようなシングルトン Bean のキャッシュに格納され、その名前付き Bean に対する後続のすべての要求と参照は、キャッシュされたオブジェクトを返します。Bean 構成で Bean スコープが指定されていない場合ファイル、デフォルトはシングルトンです。 ここに画像の説明を入力

  2. プロトタイプ: 要求されるたびに新しい Bean インスタンスを返します。シングルトンのようなキャッシュ バージョンは保存されません。 ここに画像の説明を入力

  3. Request : HTTP リクエストごとに 1 つの Bean インスタンスを返します。

    ここに画像の説明を入力

  4. Session : HTTP セッション (ユーザーレベルのセッション) ごとに 1 つの Bean インスタンスを返します。

  5. GlobalSession : グローバル HTTP セッションごとに 1 つの Bean インスタンスを返します。これは、Web 対応の Spring ApplicationContext (アプリケーション レベル セッション) のコンテキストでのみ有効です。

ほとんどの場合、Spring のコア スコープである singletonprototypeのみを扱うことができ、デフォルトのスコープはsingletonです。

于 2016-01-12T14:29:44.247 に答える