AspectJ 注释:切入点参数

AspectJ annotations: Pointcut params

我正在尝试使用 AspectJ 记录登录操作。我需要获取登录用户。我试过了,但没用。永远不会执行连接点。

@Aspect
public class LoginActivityAspect {

    @Pointcut(value = "call(void com.android.project.activities.LoginActivity.loginSuccess(String)) && this(username)", argNames = "username")
    public void loginSuccess(String username) {}

    @Before(value = "loginSuccess(username)")
    public void logLoginSuccess(username) {
        logger.debug("loginSuccess", "Login success: " + username);
    }
}

LoginActivity我有这个方法:

public void loginSuccess(String username){
    //DO STUFF
}

我做错了什么?谢谢

已解决!对不起,我是 AOP 新手。

我把切入点修改成这样:

 @Pointcut(value = "call(void com.android.project.activities.LoginActivity.loginSuccess(String)) && args(username)")
    public void loginSuccess(String username) {}