使用 Aspectj 时,我可以在 args 中使用我自己的对象吗?

Can I use my own object in args when using Aspectj?

我是 AspectJ 的新手,我尝试这样做:

public class MyDBDAO {
    public boolean update(MyObject myObject) {}
}

看点:

@Aspect
@Component
public class AspectJClass {
   @Pointcut("execution(* com.myclass.MyDBDAO.update()) && args(myObject)")
    public void update(MyObject myObject) {}
 }

我应该只使用绝对类型吗? 有什么办法可以解决这个问题吗?

你试过这个吗?

@Pointcut("execution(void com.myclass.MyDBDAO.update(MyObject)) && args(myObject)")
public void update(MyObject myObject) {}

如果你想切入 class 中的所有方法,你可以这样做:

@Pointcut("this(com.myclass.MyDBDAO)")
public void isMyDBDAO() {}