Tôi đang chơi với Spring AOP.Mùa xuân AOP tạo thêm đậu
Đây là một lớp đơn giản
public class CModel extends Car {
private double torqueMeasure = 1;
public CModel() {
System.out.println(" C-Model constructor");
}
}
Và mùa xuân cấu hình là như thế này
<aop:config>
<aop:aspect ref="audit">
<aop:before pointcut="execution(* com.test.main..*(..))" method="firstControl"/>
...
</aop:aspect>
</aop:config>
Ok bây giờ; khi tôi thêm aop: config và chặn CModel thì Spring gọi hàm khởi tạo CModel hai lần. Nó có nghĩa là Spring tạo ra 2 đối tượng CModel, đúng không?
Nếu tôi xóa cấu hình AOP thì Spring chỉ tạo một đối tượng CModel.
Bất kỳ ý tưởng nào tại sao nó giống như thế này?
Cảm ơn.
Tôi nghĩ mùa xuân tạo ra hạt đậu và proxy cho nó. Lớp proxy động mở rộng lớp cơ sở, vì vậy nó nên gọi super() trong hàm tạo của nó. Bạn có thể in dấu vết ngăn xếp trong constructor CModel để chắc chắn rằng (một cái gì đó giống như mới Exception(). PrintStackTrace()). – svaor