请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

动态代理对象的创建时机(spring 对比 自研框架)

翔仔老师,在这节开始的时候,你是这样说的——动态代理对象的创建并不需要,也不会干预bean的实例化、属性赋值和初始化的过程,而初始化结束才意味着bean被创建完成…

而在自研框架里面,我们是 1、加载bean,2、doAop,3、doIOC
也就是doAop是在bean实例化之后、属性赋值前做的,我其实觉得这个顺序很合理啊。但是听了springAOP这块的实现,有点懵。我清楚你讲的都是对的。但是我比较困惑的是,是因为自研框架逻辑简单,所以和spring源码的顺序不一致呢。还是别的什么原因。因为按照你对spring源码的讲解,我的理解变成了,spring本来的顺序是1、加载bean, 2、IOC, 3、Aop
现在有点茫然了

正在回答

1回答

慕哥好,要了解springaop的执行契机,就像视频里说的一样,要了解processor的执行时机,咱们自研框架主要是假定所有Bean全部是单例,并且bean里面不需要处理循环依赖这些,毕竟一开始相关的Bean实例已经都创建好,所以可以按照上述顺序执行。但是Spring里面由于bean的创建情况比较复杂,所以相关的织入操作需要贯穿在bean的声明周期里,因此顺序并不固定,同学可以看看我们视频讲解的processor执行aop的地方,就能知道是在哪里了

0 回复 有任何疑惑可以回复我~
  • 提问者 慕哥6062902 #1
    辛苦老师回答,这样我就能大致理解了
    回复 有任何疑惑可以回复我~ 2020-08-16 00:46:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信