6、Spring AOP 代理深入解析

Spring AOP 代理深入解析

1. ProxyFactoryBean 构造参数

ProxyFactoryBean 构造函数可传入以下参数:
| 参数 | 描述 |
| ---- | ---- |
| proxyInterfaces | 字符串接口名称数组。若未提供,将使用目标类的 CGLIB 代理。 |
| interceptorNames | 应用的 Advisor、拦截器或其他通知名称的字符串数组。顺序很重要,按先到先得原则,列表中的第一个拦截器将首先拦截调用。名称是当前工厂中的 bean 名称,包括祖先工厂中的。不能提及 bean 引用,否则 ProxyFactoryBean 会忽略通知的单例设置。可在拦截器名称后追加星号 (*),这将应用所有名称以星号前部分开头的 Advisor bean。 |
| singleton | 若为 true,应用单例模式(工厂创建对象的单个实例,并在每次 getObject() 调用时返回)。默认值为 true。若要使用有状态的通知,可使用原型通知并将 singleton 值设为 false。 |

2. 代理类型选择策略

ProxyFactoryBean 选择使用 JDK 代理还是 CGLIB 代理的策略如下:

graph TD
    A[目标类是否实现接口] -->|否| B[创建 CGLIB 代理]
    A -->|是| C{proxyTargetClass 属性是否为 true}
    C -->|是| B
    C -->|否| D{proxyInterfa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值