0

私は次の定義を持っています:

<bean id="logger" factory-method="createLog" scope="prototype" class="com.test.beans.LogBean" ></bean>

<bean id="aone" class="com.test.beans.AggregationOne">
    <property name="log" ref="logger"></property>
</bean>

<bean id="atwo" class="com.test.beans.AggregationTwo">
    <property name="log" ref="logger"></property>
</bean>

どのオブジェクト (aone または atwo) Bean 'logger' が作成されているかを認識できますか?

質問の理由: 従来のアプリケーションでは、すべてのクラスに対して 1 つのログ インスタンスがあります。一部のパッケージのレベルを変更したいのですが、それができません (フィルターの使用を除いて、私が望まないもの)。そのために、春の魔法があればそれを利用したい )

4

1 に答える 1

0

この方法ではできないと思います。あなたが試すことができるのはBeanPostProcessor、Bean 内の一般的なロガー オブジェクトを検出し、それを特定のものに置き換える実装です。

于 2013-03-15T10:15:47.570 に答える