日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

SpringBoot配置AOP

作者:鑄鍵為犁 更新時間: 2023-07-25 編程語言

文章目錄

  • 前言
  • 一、導入依賴
  • 二、編寫通知類
  • 三、測試
  • 總結


前言

SSM中使用AOP,配置非常的繁瑣,使用springboot開發完全不需要擔心配置的問題


一、導入依賴

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

二、編寫通知類

package com.lzl.advice;

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;

/**
 * 通知類
 */

@Aspect
@Component
@Slf4j
public class LogAspectHandler {

    /**
     * 自己編寫一個切點
     */
    @Pointcut("execution(* com.lzl.service.impl.*ServiceImpl.*(..))")
    public void pc(){}

    /**
     * 前置通知
     * 注意:@Before注解使用,最后不要寫分號
     */
    @Before("LogAspectHandler.pc()")
    public void before(){
        log.info("前置通知,訪問目標方法前執行...");
        //如果日志要輸出一些獲取的數據
        ServletRequestAttributes servletRequestAttributes =
                (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest servletRequest = servletRequestAttributes.getRequest();
        //獲取訪問地址
        String url = servletRequest.getRequestURL().toString();
        //獲取ip
        String ip = servletRequest.getRemoteAddr();

        log.info("用戶訪問請求 url 是:{},ip 是:{}", url, ip);
    }
}

三、測試

總結

本文主要記錄springboot配置AOP的流程

原文鏈接:https://blog.csdn.net/l_zl2021/article/details/129396713

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新