开发者社区 问答 正文

Spring在运行时通知对象是什么?

Spring在运行时通知对象是什么?

展开
收起
真的很搞笑 2021-10-25 22:36:33 697 分享 版权
1 条回答
写回答
取消 提交回答
  • 通过在代理类中包裹切面,Spring在运行期把切面织入到Spring管理的bean中。代理封装了目标类,并拦截被通知方法的调用,再把调用转发给真正的目标bean。当代理拦截到方法调用时,在调用目标bean方法之前,会执行切面逻辑。

    直到应用需要被代理的bean时,Spring才创建代理对象。如果使用的是ApplicationContext的话,在ApplicationContext从BeanFactory中加载所有bean的时候,Spring才会创建被代理的对象。因为Spring运行时才创建代理对象,所以我们不需要特殊的编译器来织入SpringAOP的切面。

    2021-10-25 22:41:31
    赞同 展开评论