SpringBoot添加AOP处理请求
2017-06-14 17:35
423 查看
pom.xml
<!-- spring-boot-starter-aop --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
HttpAspect 类
package com.wangh.aspect; import javax.servlet.http.HttpServletRequest; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; /** * AOP拦截所有http请求 */ @Aspect @Component public class HttpAspect { private static final Logger logger = LoggerFactory.getLogger(HttpAspect.class); @Pointcut("execution(public * com.wangh.controller.*.*(..))") public void log(){ } @Before("log()") public void doBefore(JoinPoint joinPoint){ ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); //url logger.info("url={}", request.getRequestURL()); //method logger.info("method={}", request.getMethod()); //ip logger.info("ip={}", request.getRemoteAddr()); //类方法 logger.info("class_methos={}", joinPoint.getSignature().getDeclaringTypeName()+"."+joinPoint.getSignature().getName()); //参数 logger.info("arg={}", joinPoint.getArgs()); } @After("log()") public void doAfter(){ logger.info("After"); } //获取返回值 @AfterReturning(returning="object",pointcut="log()") public void doAfterReturing(Object object){ logger.info("return={}",object); } }
相关文章推荐
- (十四)SpringBoot使用AOP统一处理Web请求日志添加MDC
- Spring Boot学习入门之AOP处理请求详解
- Spring Boot中使用AOP统一处理Web请求日志
- Spring Boot教程(六)使用AOP统一处理Web请求日志
- 【SpringBoot】表单验证和使用AOP处理请求
- Spring Boot中使用AOP统一处理Web请求日志
- Spring Boot AOP之对请求的参数入参与返回结果进行拦截处理
- Spring Boot中使用AOP统一处理Web请求日志
- Spring Boot中使用AOP统一处理Web请求日志
- springboot-web进阶(二)——AOP统一处理请求
- Spring Boot中使用AOP统一处理Web请求日志
- (转)Spring Boot中使用AOP统一处理Web请求日志
- SpringBoot 中Aop处理请求
- 46. Spring Boot中使用AOP统一处理Web请求日志【从零开始学Spring Boot】
- Spring Boot中使用AOP统一处理Web请求日志
- 46. Spring Boot中使用AOP统一处理Web请求日志【从零开始学Spring Boot】
- Spring Boot中使用AOP统一处理Web请求日志
- Spring Boot中使用AOP统一处理Web请求日志
- SpringBoot 使用AOP处理请求
- 详解Spring Boot中使用AOP统一处理Web请求日志