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

然后在拦截器类中添加切面代码:

package com.tbms2;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.Signature;
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.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import com.alibaba.fastjson.JSON;
@Component
@Aspect
public class WebControllerAop {
    Logger logger = LoggerFactory.getLogger(WebControllerAop.class);
    @Pointcut("execution(* com.tbms2.web..*.json*(..))")
    public void executeService(){
    @Before("executeService()")
    public void doBeforeAdvice(JoinPoint joinPoint) {
        logger.info("==> json方法调用开始...");
        //获取目标方法的参数信息  
        Object[] obj = joinPoint.getArgs();  
        //AOP代理类的信息  
        joinPoint.getThis();  
        //代理的目标对象  
        joinPoint.getTarget();  
        //用的最多 通知的签名  
        Signature signature = joinPoint.getSignature();  
        //代理的是哪一个方法  
        logger.info("==> 代理的是哪一个方法 :"+signature.getName());
        //AOP代理类的名字  
        logger.info("==> AOP代理类的名字:"+signature.getDeclaringTypeName());
        //AOP代理类的类(class)信息  
        signature.getDeclaringType();  
        //获取RequestAttributes  
        RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();  
        //从获取RequestAttributes中获取HttpServletRequest的信息  
        HttpServletRequest request = (HttpServletRequest) requestAttributes.resolveReference(RequestAttributes.REFERENCE_REQUEST);  
        logger.info("==> 请求者的IP:"+request.getRemoteAddr());
        //如果要获取Session信息的话,可以这样写:  
        //HttpSession session = (HttpSession) requestAttributes.resolveReference(RequestAttributes.REFERENCE_SESSION);  
        Enumeration<String> enumeration = request.getParameterNames();  
        Map<String,String> parameterMap = new HashMap<String,String>();
        while (enumeration.hasMoreElements()){
            String parameter = enumeration.nextElement();  
            parameterMap.put(parameter,request.getParameter(parameter));  
        String str = JSON.toJSONString(parameterMap);  
        if(obj.length > 0) {  
            logger.info("==> 请求的参数信息为:"+str);
                                    springboot使用注解aop获取注解参数,处理request和response
这里实现一个简单的登陆判断注解
加了LonginAction的方法必须登陆才能执行
首先检查是否导入相关springboot aop启动器依赖
    <dependency>
        <groupId>org.springframework.boot</groupI...
                                    SpringBoot 项目整合启动报错:java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/ser
                                    根据前端请求获取方法名、参数、路径等信息
//在一个方法里面如果想获取请求信息,需要从请求上下文获取request,或者在参数列表使用HttpServletRequest request
①在方法获取请求上下文
// 接收到请求,记录请求内容
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestConte...
                                    1.SpringBoot之集成Spring AOP 学习新知识点:RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();  
//从获取RequestAttributes获取HttpServletRequest的信息  
HttpServletRequest request = (Htt...
                                    RequestAttributes requestAttributes = RequestContextHolder.currentRequestAttributes();
HttpServletRequest request = ((ServletRequestAttributes)requestAttributes).getRequest();
Enumeration e = request....
                                    在子线程使用下面的方法获取 requestAttributes 为空。
二、解决方法
这里提供两种解决方法,方法一适用于某个请求的业务方法;方法二具有通用性,适用于整个项目。注意:以下两种解决方法,需要在 Servlet 的生命周期内使用,否则会导致 requestAttributes 获取到的属性为空。在子线程启动前,加入下面的代码,可以使 requestAttributes 被子线程继承。
2、方法二
添加一个配置类。
Servlet 初始化时,会调用 FrameworkServlet 
//获取RequestAttributes
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
//从获取RequestAttributes获取HttpServletRequest的信息
HttpServletRequest request = (HttpServletRequest)requestA
                                    //通知的签名
//    Signature signature = joinPoint.getSignature();
//    if ("login".equals(signature.getName())) {
//      return joinPoint.proceed();
//    }else{
//     ...