• Spring Boot 进阶之Web进阶 学习


    AOP 面向切面编程

    1.添加aop依赖

    pom.xml中添加

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>

    2.创建切面文件 HttpAspect.java
    @Aspect    //切面 注解
    @Component
    public class HttpAspect {

    private final static Logger logger = LoggerFactory.getLogger(HttpAspect.class); //日志记录

    @Pointcut("execution(public * com.example.girl.controller.GirlController.*(..))")
    private void log(){
    }


    @Before("log()")
    public void doBefor(JoinPoint joinPoint){

    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
    HttpServletRequest request = attributes.getRequest();

    logger.info("url={}",request.getRequestURL());
    logger.info("method={}",request.getMethod());
    logger.info("ip={}",request.getRemoteAddr());
    logger.info("class_method={}",joinPoint.getSignature().getDeclaringTypeName()+"."+joinPoint.getSignature().getName());
    logger.info("args={}",joinPoint.getArgs());
    }

    @After("log()")
    public void doAfter(){
    logger.info("doAfter.......");
    }

    @AfterReturning(returning = "object",pointcut = "log()")
    public void doAfterReturning(Object object){
    logger.info("response={}",object.toString());
    }
    }
  • 相关阅读:
    04--Spring知识汇总
    01--Java集合知识
    03-Servlet 体系结构知识梳理
    02--Tomcat总体结构分析一
    01--Java开发中文乱码问题分析
    HTTP05--HTML常用知识
    3--Java NIO基础1
    02--Java Socket编程--IO方式
    01--TCP状态转换
    java之泛型理解(高效java之泛型)
  • 原文地址:https://www.cnblogs.com/zhcnblog/p/8944989.html
Copyright © 2020-2023  润新知