aspectj 注解方式around,proceed()后又进入到同样的切面问题

以下问题,求教原因及解决方法。
定义了切面
@Pointcut("@annotation(annotation.definition.Filter)")
public void filterPointcut(){}

@Around("filterPointcut()")
public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable {
Object ret = null;
System.out.println("i am in around");
ret = joinPoint.proceed();
return ret;
}

当我起个main去调用被@Filter注解修饰的方法时, i am in around出现了2次。为什么会这样,怎么解决

joinPoint.getSourceLocation()两次返回的结果一个是在main里面显示调用该@Filter方法的地方,另外一个就是该@Filter方法定义的地方。