![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AOP
雪落南城
这一场人间流浪,长随步履温柔相候
展开
-
一个方法被多个AOP切面会发生什么?
背景笔者负责的项目中,对外接口的实现类中,许多接口注解了N个方法,项目中利用AOP对方法进行统一日志输出、异常捕获、业务并发锁等那么,一个方法有多个AOP切面,会相互干扰吗?其执行顺序是怎样的?会生成多个代理类吗?让我们带着问题,进行实战一探究竟~示例...原创 2022-01-14 20:00:58 · 1906 阅读 · 3 评论 -
记一次AOP失效
项目使用了AOP来自动重试调用失败的方法,再一次更新中,发现某个类型的重试失效了,具体原因是要横切的注解注释在了一个子方法中,而实际的调用中,上游只会调用A方法形如:public class ss {public void A() {B();}@XXXAnnotationpublic void B() {}}因为AOP是通过生成一个代理对象来执行方法调用的,调用未横切的方法,会走到正常对象的方法调用,所以调到子方法时,没有使用代理对象的增强方法了;唉 还是基础差点事啊。。。...原创 2020-12-08 17:46:20 · 126 阅读 · 0 评论 -
SpringAOP-切点为注解
使用1、触发AOP可以是类名、方法名、参数、返回值类型,也可以是注解注解法首先定义一个无参数注解@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface CatTransaction {}然后定义一个横切类@Aspect@Componentpublic cl...原创 2019-02-28 22:53:28 · 2457 阅读 · 0 评论 -
SpringBoot使用AOP问题汇总
1、外部引入的AOP切面没有生效由于aop的service是外部引入的(需加@Component)故没有被注册成bean需要手动注册一下@Beanpublic CatAopService catAopService() { return new CatAopService();}2、横切的方法没有返回数据只需要在切面处理的时候定义返回值即可@CatAnn...原创 2019-03-01 15:54:57 · 760 阅读 · 0 评论 -
SpringAOP-切点为方法
1、pom文件<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> <version>1.5.8.RELEASE</version&g...原创 2019-07-04 14:18:30 · 549 阅读 · 0 评论