package com.www.aop; import com.www.controller.CommonResult; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; @Component @Aspect public class LogAop { @AfterReturning(value = "execution(* com.www.controller.UserService.find(..))",returning = "r") public void login(JoinPoint joinPoint,Object r){ Object[] args = joinPoint.getArgs(); System.out.println("账号:"+args[0]); //获取request对象 ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = requestAttributes.getRequest(); String ip = request.getRemoteAddr(); System.out.println("ip:"+ip); CommonResult c = (CommonResult) r; System.out.println("登陆状态:"+c.getCode()); System.out.println("登陆消息:"+c.getMsg()); } }
pom
<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.2.4</version> </dependency>
sping
要在静态资源下写
<aop:aspectj-autoproxy/>