AspectJ注释:Pointcut参数

时间:2015-02-12 12:34:24

标签: annotations aop aspectj

我尝试使用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
}

我做错了什么?感谢。

1 个答案:

答案 0 :(得分:0)

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

我已将切入点修改为:

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