美文网首页springboot
Spring boot 使用AOP记录controller日志

Spring boot 使用AOP记录controller日志

作者: else05 | 来源:发表于2017-03-18 14:18 被阅读2986次

    希望在controller执行完成后,记录一下这个接口的调用信息
    如下实现请求到如下接口后,会执行SubscribeAop.java中的 recordLog()方法
    如果要实现在进入Controller.subscribe()之前执行某个方法,可以使用@ModelAttribute注解,使用方法自行google

    • Controller.java
        @GetMapping("/")
        public String subscribe(String accessToken, HttpServletRequest request) {
            return "SUCCESS";
        }
    
    • SubscribeAop.java
    @Aspect
    @Component
    public class SubscribeAop {
        // 对以下com.web.controller.Controller类中的所有方法进行切入
        @Pointcut("execution(public * com.web.controller.Controller.*(..))")
        private void method(){
        }
    
        // @After("method() && args(jsonData ,request)")
        // public void recordLog(String jsonData ,HttpServletRequest request){
        @After("method()")  // 使用上面定义的切入点
        public void recordLog(){
           // 这里记录日志 , 这里处理的内容会切入controller中
        }
    }
    
    • pom.xml
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-aop</artifactId>
            </dependency>
    
    • application.properties
    spring.aop.auto=true
    

    参考:

    相关文章

      网友评论

      本文标题:Spring boot 使用AOP记录controller日志

      本文链接:https://www.haomeiwen.com/subject/novunttx.html