欢迎光临散文网 会员登陆 & 注册

【JAVA面试】-Spring中常用的切面注解有哪些?

2023-04-10 19:51 作者:老姚撸码  | 我要投稿

AOP(Aspect-Oriented Programming,面向切面编程)是一种编程思想和技术,用于解决代码横切关注点(Cross-Cutting Concerns)的问题,如日志记录、安全授权、事务管理等。在Java中,AOP通常使用注解来声明切面和切点。

  • @EnableAspectJAutoProxy: 开启注解切面

  • @Aspect:标识一个类为切面类。

  • @Pointcut:定义一个切点,用于描述哪些方法需要被切入。

  • @Before:前置增强,表示在目标方法执行之前执行切面逻辑。

  • @After: 后置增强,不管是抛出异常或者正常退出都会执行

  • @AfterReturning:后置增强,表示在目标方法返回之后执行切面逻辑,异常不执行。

  • @AfterThrowing:后置增强,表示在目标方法抛出异常之后执行切面逻辑。

  • @Around:环绕增强,表示在目标方法执行前后执行切面逻辑。 调用被代理对象方法需要自行控

  • @DeclareParents:用于向目标类添加额外的接口实现。


DeclareParents使用场景:当我们已经完成了一个项目的某个阶段开发,此时需要对已完成的某个类加入一些新的方法,我们首先想到的是写一个接口,然后让这些需要方法的类实现此接口,但是如果目标类非常复杂,牵一发而动全身,改动的话可能非常麻烦。此时就可以使用此注解,然后建一个代理类,同时代理该类和目标类


【JAVA面试】-Spring中常用的切面注解有哪些?的评论 (共 条)

分享到微博请遵守国家法律