我正在尝试创建特定的类构造函数切入点执行但是我得到以下标记:
Aspect代码:
public aspect CarLogger {
private Logger logger;
pointcut instantiate() : execution (Car.new(..));
after() : instantiate(){
logger.log(Level.INFO, "In Car::Car()", thisJoinPoint.getThis());
}
此代码不返回此类型名称Car的匹配项。
但如果我将execution (Car.new(..))
更改为execution (*.new(..))
,我会在项目中获得所有构造函数
我的愿望是让切入点只执行特定的类Car
答案 0 :(得分:1)
我认为这是因为切入点无法将Car
映射到您的班级,因为您没有指定正确的路径,即全名along with package
。
pointcut instantiate() : execution (com.abc.vehicle.Car.new(..));