Aop的使用

本文详细介绍了面向切面编程(AOP)的基础概念,包括常用的五种注解:@Before前置通知、@After后置通知、@Around环绕通知、@AfterReturning运行通知和@AfterThrowing异常通知。还探讨了这些通知的执行顺序,并展示了如何在实际项目中利用@AfterReturning进行日志记录。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

aop面向切面编程,是通过动态代理的方式,实现方法的增强。


一、AOP常用的注解

1.@Before 前置通知

2.@After 后置通知

3.@Around 环绕通知

4.@AfterReturning 运行通知

5.@AfterThrowing 异常通知

二、AOP的运行顺序

1、@Around
2、@Before
3、@Around
4、@After
5、@AfterReturning / @AfterThrowing

三、AOP的使用

通常使用@AfterReturning 进行方法增强,进行日志的记录。

1.@AfterReturning 运行通知

@Pointcut("execution(public * com.system.controller.*.*(..))")
    public void pointcut() {}

@AfterReturning("pointcut() , returning = "abc")
    public void AfterReturning(JoinPoint point , T abc) {
        log.info("@AfterReturning 进入运行通知了");
    }
    此处T 为执行方法的返回值类型,abc 为返回值。
    通常自定义组装返回值,可以通过getter方法,进行获取内容。判断此方法是否执行成功。

2.@Around 环绕通知

参数比较特殊,只有Around 才使用ProceedingJoinPoint
@Around("pointcut()")
    public Object around(ProceedingJoinPoint point) { 
    	获取当前类
		Class<?> clazz = point.getTarger().getClass();
		获取请求参数
		Object[] args = jp.getArgs();
}

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring AOP 是一个用于实现面向切面编程的框架。它可以通过配置来实现横切关注点的模块化,并将其应用到程序的不同部分。Spring AOP 使用 AspectJ 切入点指示符来定义切入点表达式,用于匹配方法执行连接点。Spring AOP 支持以下 AspectJ 切入点指示符: 1. execution:用于匹配方法执行连接点。这是使用 Spring AOP 时要使用的主要切入点指示符。 2. within:限制匹配以连接某些类型中的点(使用 Spring AOP 时在匹配类型中声明的方法的执行)。 3. this:限制匹配到连接点(使用 Spring AOP 时方法的执行),其中 Bean 引用(Spring AOP 代理)是给定类型的实例。 4. target:限制匹配到连接点(使用 Spring AOP 时方法的执行),其中目标对象(正在代理的应用程序对象)是给定类型的实例。 5. args:限制匹配到连接点(使用 Spring AOP 时方法的执行),其中参数是给定类型的实例。 6. @target:限制匹配到连接点(使用 Spring AOP 时方法的执行),其中执行对象的类具有给定类型的注释。 7. @args:限制匹配到连接点(使用 Spring AOP 时方法的执行),其中传递的实际参数的运行时类型具有给定类型的注释。 8. @within:限制匹配以连接具有给定注释的类型中的点(使用 Spring AOP 时在具有给定注释的类型中声明的方法的执行)。 9. @annotation:限制匹配到连接点的主题(在 Spring AOP 中运行的方法)具有给定注释的连接点。 在使用 Spring AOP 时,需要引入 Spring AOPSpring Context 相关的包,并在配置文件中进行相应的配置。可以通过 Maven 或其他构建工具来引入相关依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值