我尝试使用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
}
我做错了什么?感谢。
答案 0 :(得分:0)
解决!对不起,我是AOP的新手。
我已将切入点修改为:
@Pointcut(value = "call(void com.android.project.activities.LoginActivity.loginSuccess(String)) && args(username)")
public void loginSuccess(String username) {}