随堂笔记13-spring之aop底层源码

  1. 动态代理:

    1. 代理模式:为其他对象提供一种代理来控制对这个对象的访问,增强一个类中的某个方法,对其进行扩展
  2. 调用分为俩类,一类是jdk的接口代理,需要有接口,另一种是cglib代理

  3. proxyFactory:以上俩中在spring中封装叫proxyFactory,通过这个就可以不用关注代理用cglib还是jdk动态代理,会自己去判断

  4. advice和advisor:一个advisor包含pointcut和advice。

  5. 创建代理对象的方式:proxyFactory,advisor,advice,pointct;若果针对某一个bean创建代理,可以通过proxyFacotryBean配合@Bean;

  6. 如果要制定代理某一个bean可以通过beanNameAutoProxyCreator

  7. 如果要制定某一类代理bean可以通过defaultPointCutAdvisor;也可以通过@Aspect

  8. 对于spring aop的理解

    1. aop面向切面编程,通过pointcut和advice
    2. 一些aop概念
      1. aspect 切面在这里可以定义poincut advice....
      2. jointpoint 连接点,比如一个执行方法
      3. advice 通知,
      4. pointcut 切点,匹配连接点
      5. target object 被代理对象
      6. aop proxy 代理工厂
      7. weaving 表示织入
  9. proxyFactory选择cglib或者 jdk动态代理原理:

    1. 如果optimize为true或者proxyTargetClass为true,或者对象添加接口,用cglib,否则就用jdkDynamicAopProxy
  10. 代理对象创建过程:

posted @ 2023-03-09 11:31  小傻孩丶儿  阅读(17)  评论(0编辑  收藏  举报