spring aop小记

一、aop概念

面向切面编程

参考:https://blog.csdn.net/lhj520cb/article/details/125820513

常用术语解释(根据代码理解的):

Aspect(切面):Advice 通知(即增强)和 Pointcut 切点的结合。(数学上可以理解为无数个点组成面,所以aop中一个切面也可以有若干个切点)
point cut(切点):切点是指增强(Advice)所要织入(Weaving)的具体位置
advice(增强): 所要增强的功能,它与切点 point cut 绑定关联在一起
Weaving(织入) 我的理解是,增强和切点进行绑定和关联的过程成为织入
(Join Point)连接点 : 我的理解是,通知和切点关联之后(织入之后),才会产生连接点。是他们两个的孩子,连接点不能单独产生使用。
比如:

@Aspect  //切面
@Component
public class ApiLogAspect {

    /**
     * 切点
     */
    @Pointcut("@annotation(com.wang.annotation.ApiLog)")
    public void pointcut(){};

    /**
     * 增强
     * @param pjp  ProceedingJoinPoint  连接点 此连接点专门用于环绕通知
     * @return
     */
    @Around("pointcut()") //织入
    //绑定之后才会产生JoinPoint 或 ProceedingJoinPoint连接点,  
    //然后从连接点中获取切面对象上下文信息,比如
	// getTarget():获取被代理的对象信息
	//getgetArgs():获取传入该方法的参数信息
	// getSignature().getName():获取方法名称
	// getSignature().getModifiers():获取方法的声明类型
    public Object aroundAdvice(ProceedingJoinPoint pjp){
        String name = pjp.getSignature().getName();
        System.out.println("环绕通知:"+name);
        return name;
    }
}

增强的类型

在这里插入图片描述

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值