随堂笔记13-spring之aop底层源码
-
动态代理:
- 代理模式:为其他对象提供一种代理来控制对这个对象的访问,增强一个类中的某个方法,对其进行扩展
-
调用分为俩类,一类是jdk的接口代理,需要有接口,另一种是cglib代理
-
proxyFactory:以上俩中在spring中封装叫proxyFactory,通过这个就可以不用关注代理用cglib还是jdk动态代理,会自己去判断
-
advice和advisor:一个advisor包含pointcut和advice。
-
创建代理对象的方式:proxyFactory,advisor,advice,pointct;若果针对某一个bean创建代理,可以通过proxyFacotryBean配合@Bean;
-
如果要制定代理某一个bean可以通过beanNameAutoProxyCreator
-
如果要制定某一类代理bean可以通过defaultPointCutAdvisor;也可以通过@Aspect
-
对于spring aop的理解
- aop面向切面编程,通过pointcut和advice
- 一些aop概念
- aspect 切面在这里可以定义poincut advice....
- jointpoint 连接点,比如一个执行方法
- advice 通知,
- pointcut 切点,匹配连接点
- target object 被代理对象
- aop proxy 代理工厂
- weaving 表示织入
-
proxyFactory选择cglib或者 jdk动态代理原理:
- 如果optimize为true或者proxyTargetClass为true,或者对象添加接口,用cglib,否则就用jdkDynamicAopProxy
-
代理对象创建过程:
不恋尘世浮华,不写红尘纷扰
标签:
2023重温技术基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2021-03-09 linux安装lua
2021-03-09 Lc150_逆波兰表达式求值