前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringAop源码全方位剖析,gogogo!

SpringAop源码全方位剖析,gogogo!

作者头像
用户5224393
发布2019-08-09 15:06:21
4930
发布2019-08-09 15:06:21
举报
文章被收录于专栏:Java研发军团Java研发军团

Spring Aop 在 Spring框架中的地位举足轻重,主要用于实现事务、缓存、安全等功能。

作为一名优秀的 Java 开发程序员,以及那些想要学习 Java 更深层知识点的同学,对Spring Aop的熟悉与熟练使用是必不可缺的核心技能,也是每个 Java 程序员应该要做到的。

在介绍AOP之前,你需要弄懂动态代理反射。这两个弄懂了,就可以来看本篇文章了。

如果对AOP的概念以及spring的xml的解析,标签的解析,注解实现,还有java的代理,这些知识没有好好的理解的话,也不可能对AOP的实现详细逻辑有一个好的理解。所以,建议把这些前置知识都大概了解,再来看这个AOP的实现,或者去阅读源代码,那样的话学习起来会容易的多。

学习源代码的过程比较枯燥,尤其是spring比较严谨,调用层次比较多,没有画时序图的话可能真的被绕晕,所以建议学的时候还是画时序图,然后跟着debug模式流程走一遍。

流程说明

  • spring 容器启动,每个bean的实例化之前都会先经过AbstractAutoProxyCreator类的postProcessAfterInitialization()这个方法,然后接下来是调用wrapIfNecessary方法。
  • 进入wrapIfNecessary方法后,我们直接看重点实现逻辑的方法
  • 获取到当前bean的增强方法后,便调用createProxy方法,创建代理。

Spring Aop的核心原理实现介绍确实不太好写,里面涉及的类之间的调用还是蛮多的,太细的关系图也很难画。网上的文章大多又华而不实。

那么,如何系统的学习Spring Aop呢?

小编给大家推荐腾讯课堂联合图灵学院出的2 分钱课程《跳槽加薪绝杀技——SpringAop源码全方位剖析》,看它到底是怎么样来实现的。

除了学习,实战也很重要。老师已经整理好 Spring Aop精选面试题,供大家了解学习效果。这里给出部分面试题供大家自测:

  1. 描述一下Spring AOP?
  2. Spring 的优点?
  3. Spring的AOP理解?
  4. 在Spring AOP中关注点(concern)和横切关注点(cross-cutting concern)有什么不同?
  5. AOP有哪些可用的实现?
  6. Spring中有哪些不同的通知类型(advice types)?
  7. Spring AOP 代理是什么?
  8. 引介(Introduction)是什么?
  9. 连接点(Joint Point)和切入点(Point Cut)是什么?
  10. 织入(Weaving)是什么?

……

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java研发军团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档