网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月30日
漏签
0
天
java吧
关注:
1,188,599
贴子:
12,598,454
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
24
回复贴,共
2
页
,跳到
页
确定
<返回java吧
>0< 加载中...
既然是最后一天摸鱼,那就来个技术帖吧
取消只看楼主
收藏
回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
二楼开整
送TA礼物
IP属地:湖南
1楼
2021-02-09 10:13
回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
起源是之前有人问了我一个aop失效的问题:
IP属地:湖南
2楼
2021-02-09 10:14
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
当注解标记到类上面,Aspect使用@annotation去拦截时,会失效
IP属地:湖南
3楼
2021-02-09 10:15
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
标记到方法上即可被拦截
IP属地:湖南
4楼
2021-02-09 10:16
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我的第一反应:wtf?
不可能吧,事务没用过吗?写到类上不说常见,但是一定见过吧
IP属地:湖南
5楼
2021-02-09 10:17
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
既然这样,咱们就扣一下,容器启动中是怎么去生成拦截链的
IP属地:湖南
6楼
2021-02-09 10:18
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我们都知道 spring给我们预留了两个炒鸡强大的扩展点:
BeanPostProcessor和BeanFactoryPostProcessor,咱们就来说说我们我们的重头戏InfrastructureAdvisorAutoProxyCreator
IP属地:湖南
7楼
2021-02-09 10:20
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
IP属地:湖南
8楼
2021-02-09 10:21
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
InfrastructureAdvisorAutoProxyCreator实现了BeanPostProcessor.postProcessAfterInitialization,我们看看他到底做了什么
IP属地:湖南
9楼
2021-02-09 10:24
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
IP属地:湖南
10楼
2021-02-09 10:24
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后一路小跑进入到wrapIfNecessary方法,里面最最核心的就是getAdvicesAndAdvisorsForBean方法了;这里将直接获取到拦截链,也就是根据Aspect注解标记的类,根据匹配规则,获取最终匹配的类
IP属地:湖南
11楼
2021-02-09 10:27
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
也是一路小跑,发现这个类最终走到了org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator#findEligibleAdvisors方法,
List<Advisor> candidateAdvisors = findCandidateAdvisors();
List<Advisor> eligibleAdvisors = findAdvisorsThatCanApply(candidateAdvisors, beanClass, beanName);
第一条简单来说就是查询我们所有的aop拦截链,第二条就是规则匹配,这里的eligibleAdvisors,也就是我们最终需要的结果了
IP属地:湖南
12楼
2021-02-09 10:29
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
最终规则匹配,走到了AopUtil.canApply,我们基本上的写法都是@Pointcut,所以 走到了if这里
IP属地:湖南
13楼
2021-02-09 10:34
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后是一路小跑
IP属地:湖南
14楼
2021-02-09 10:35
回复
收起回复
我陪你过毕业季
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@Pointcut("@annotation(com.boot.aspect.Log)")这种拦截时,if里面走到了introductionAwareMethodMatcher.matches(method, targetClass, hasIntroductions) 方法
IP属地:湖南
15楼
2021-02-09 10:37
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
独家!业内人士深度剖析米哈游
2704110
2
孙楠确认补位歌手2024
2205015
3
久哲回归Hero
1885604
4
转生史莱姆角色战力
1703916
5
中国女排3比1荷兰女排
1698164
6
用茅台打比方局长被免职
1563850
7
我发选手,你评估他入选名人堂的概率
1484232
8
《使命召唤21:黑色行动6》将首发XGP
1241908
9
官方确认不满嘉峪关武大选调生离职
938366
10
网红王妈塌房背刺打工人
928536
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示