0

1 つの解決策があります。

    <bean name="1" class="My1" />

<bean name="2" class="My2" scope="prototype">
    <property name="field1" ref="1">
</bean>

<bean name="3" class="My3" scope="prototype">
    <property name="field1" ref="1">
</bean>

しかし、私はそれをしたくありません。Bean "1" がアプリケーションのどこからでもアクセスでき、Spring がそれを制御することは望ましくありません。Bean「2」と「3」が同じインスタンスを取得することだけが必要です。私はそれを達成できますか?どのように?

4

2 に答える 2

4

何が問題なのかよくわかりません。デフォルトでは、Spring Bean はシングルトンです。したがって、あなたの例では23すでに の同じインスタンスがあり1ます。の Spring 制御インスタンス1は、実際には「アプリケーションのどこからでもアクセス可能」ではなく、注入された場所でのみアクセス可能です。

于 2012-05-14T18:37:50.717 に答える
0

xml で Bean "1" を明示的に指定せず、コントローラーの最初のリクエストでそのオブジェクトを作成し、それをセッションに入れて、アプリケーション全体で同じインスタンスでアクセスできるようにするとどうなりますか。また、必要なコントローラーでのみアクセスできます。

これがお役に立てば幸いです。

乾杯。

于 2012-05-15T07:38:36.550 に答える