xml地图|网站地图|网站标签 [设为首页] [加入收藏]

您的位置:亚洲必赢 > 计算机尝试 > AOP实现原理,AOP的实现原理

AOP实现原理,AOP的实现原理

发布时间:2020-01-16 20:18编辑:计算机尝试浏览(157)

    Spring的基本是IOC与AOP,IOC首即使依据关系的处理,正视查询,注重注入,在事情发生早前bean的生命周期小说中已经对bean的生命周期做了针锋相投多的深入分析,这里从前斟酌下AOP的兑现原理。

    原版的书文出处: Listen

    1.Spring AOP是什么样对指标对象的艺术实行阻拦的?
    经过JDKProxy或CGLibProxy动态变化代理对象,当从表面调用目的对象的秘籍时,外界调用的靶子为动态代理生成的Proxy对象。由其余界调用的措施其实为Proxy对象中的达成的艺术,这几个办法中蕴藏了AOP中设置的Advice。然后通过反射机制调用目的对象的处理逻辑方式,进而达到对目的对象方法的滋长。
    什么判断是不是实行巩固的打招呼,在实行代理对象的艺术时CglibAopProxy调用intercept(Object, Method, Object[]AOP实现原理,AOP的实现原理。, MethodProxy)方法,JDKProxy调用JdkDynamicAopProxy.invoke(Object, Method, Object[])方法,在这里多少个格局中大家能够看来,在调用目的对象的点子前会先去拿到该对象对象方法的遏止器链:
    // Get the interception chain for this method.
    List<Object> chain = this.advised.getInterceptorsAndDynamicInterceptionAdvice(method, targetClass);
    赢得拦截器链为空则直接调用指标对象的情势,拦截器链不为空则推行拦截器链中需求升高的打招呼方法,那样就达到了AOP动态增加的目的。

    上后生可畏篇文章:十二分钟周全精晓Spring AOP 介绍了怎么是AOP以致Spring AOP的运用。本篇将揭示Spring AOP的里边得以达成原理。

    关键类

    • AspectJAwareAdvisorAutoProxyCreator Spring运营时的beanPostProcessor,bean生命周期中不时能够观察beanPostProcessor在起效果,AOP也是依附IOC来兑现的。
    • DefaultAopProxyFactory.createAopProxy(AdvisedSupport config卡塔尔(قطر‎创制AOP代理类,那样技术够落成AOP
    • AopNamespaceHandler aop标签剖析的handler
    • ConfigBeanDefinitionParser ,aop config标签的拆解解析类。

    AOP(Aspect Orient Programming),大家通常称为面向方面(切面)编程,作为面向对象的大器晚成种补偿,用于拍卖系统中分布于各样模块的横断关心点,举个例子事务处理、日志、缓存等等。AOP完成的关键在于AOP框架自动创制的AOP代理,AOP代理第一分为静态代理和动态代理,静态代理的意味为AspectJ;而动态代理则以Spring AOP为代表。本文种独家对AspectJ和Spring AOP的落实举行解析和介绍。

    2.spring容器是怎么样起头化的?
    首先,web容器在运维时会先开首化贰个大局的ServletContext,为spring容器提供叁个情状,web.xml中的配置的contextLoaderListener会监听web容器初阶化事件,然后运维spring容器的伊始化,它会读取web.xml中安插的context-param中的contextConfigLocation来先导化spring上下文默以为XmlWebApplicationContext。开头化根上下文后将其归入ServletContext中,那样在web容器中就足以得到applicationContext。
    IOC容器的伊始化分为几个经超过实际现:
    率先个经过是Resource能源一定。那么些Resouce指的是BeanDefinition的财富一定。那一个历程正是容器找数据的进程,就如水桶装水需求先找到水相符。
    其次个经过是BeanDefinition的载入进程。那个载入进程是把客商定义好的Bean表示成Ioc容器内部的数据构造,而以此容器内部的数据布局便是BeanDefition。
    其多少个进程是向IOC容器注册这么些BeanDefinition的进度,这一个进度正是将前方的BeanDefition保存到HashMap中的进程。

    ** 本文剖析利用spring-aop 源码为 4.3.6.RELEASE**。

    本文由亚洲必赢发布于计算机尝试,转载请注明出处:AOP实现原理,AOP的实现原理

    关键词: 基础技术 spring 原理 AOP TechLearn