网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月14日
漏签
0
天
java吧
关注:
1,184,964
贴子:
12,586,989
看贴
图片
吧主推荐
视频
游戏
1
2
3
下一页
尾页
51
回复贴,共
3
页
,跳到
页
确定
<返回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
G2约战UZI
2080440
2
不等式秒了
1689047
3
不要把玩具放在工位
1588972
4
老头杯多人OUT
1495800
5
如何看待学校让男生签署“男生公约”
1328652
6
如何评价崩铁2.2版本剧情
965688
7
WBG最新阵容如何
812889
8
APEX圈AGL事变
764742
9
TES回应管泽元调侃JKL大满败
728070
10
微笑疑似退出老头杯比赛
698960
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示