私はSpring AOPで遊んでいます。ここで Spring AOPは余分なBeanを作成します
はpublic class CModel extends Car {
private double torqueMeasure = 1;
public CModel() {
System.out.println(" C-Model constructor");
}
}
と春の構成は、今、この
<aop:config>
<aop:aspect ref="audit">
<aop:before pointcut="execution(* com.test.main..*(..))" method="firstControl"/>
...
</aop:aspect>
</aop:config>
オクラホマのようなものです単純なクラスです。 aop:configを追加してCModelをインターセプトすると、SpringはCModelのコンストラクタを2回呼び出します。つまり、Springは2つのCModelオブジェクトを作成します。
AOPの設定を削除すると、SpringはCModelオブジェクトを1つだけ作成します。
これはなぜこのような考えですか?
ありがとうございました。
私は春がこの豆とプロキシを作成すると思う。動的プロキシクラスは基本クラスを拡張するので、そのコンストラクタでsuper()を呼び出す必要があります。スタックトレースをCModelコンストラクタで印刷して、新しいException()。printStackTrace()などのようにすることができます。 – svaor