spring的@Aspect注解实现系统的访问日志功能
解决方法:
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.aop.ProxyMethodInvocation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class AspectComponent {
@Pointcut("bean(*Controller)")
public void ctrlProc() {
}
@Before("ctrlProc()")
public void doBeforeForCtrl(JoinPoint joinPoint) {
//这里写你的操作数据库日志表的代码
}
}
其中你的控制器类必须以Controller结尾,访问这个类里的方法前都会执行doBeforeForCtrl,例如
@RestController
@RequestMapping({"/login"})
public class MyController{
}
本文链接:http://www.yayihouse.com/yayishuwu/chapter/1685