zoukankan      html  css  js  c++  java
  • aop

    AOP全称 aspect-priented programming 它是面向切面编程的思想核心

    AOp和OOP即面向对象的编程语言,不相冲突,他们是两个相辅相成的实际模型

    Spring的同期并不依赖与AOP

    AOP术语介绍

    cross-cutting concern:系统层面上的服务穿插到业务逻辑的处理流程之中

    aspect:当需要是,将其放到应用程序上,不需要是将其从应用程序总脱力出来

    Advice:是Aspect具体的实现

    Joinpoint:aspect在应用程序执行时加入业务流程的时机

    Pointcut:指定某个aspect在那些joinpoint时被穿插至应用程序之上

    Target:一个advice被应用的对象或者目标对象

    Instruction:为己编写,编译完成的类,在执行时期动态加入一些方法,而不用修改或者增加任何代码

    Weave:被应用对象之上的过程

    Spring对AOP的支持

    纯java语言来编写  定义pointcuts可以使用配置文件   不支持属性成员的jointpoints

    Spring创建Adivice

    Before Advice

    目标对象的方法执行之前被调用

    通过创建类实现methodBeforeAdvice接口来实现

    目标对象的方法执行之后被调用

    通过创建类实现methodAfterAdvice接口来实现

    Aound Advice在执行之前和之后来执行响应的操作

    要实现MethodInterceptor接口

    ThorowAdvice

    异常发生的时候,通知某个服务对象做处理

    实现ThrowsAdvice

    基于XMLSchema

    简化代码实现

    容易对应用程序进行维护

    所有元素都定义在<aop:config>标签元素中

    <aop:config> 包含多个切面,切入点,advice等标签元素

    <aop:aspect>定义一个切面

    <aop:pointcut>定义切入点的信息 

    expression执行的表达式 *字符,代表匹配任意的返回类

    ():匹配了一个不接受任何参数的方法

    (..):匹配了接受任意参数的方法

    <aop:around>定义around advice

    基于Annotation

    以注解的方式对java的普通类进行标注

    @AspectJ采用jdk5.0的注解技术

    在配置文件中启用AspectJ <aop:aspecrj-autoproxy/>

  • 相关阅读:
    寒假作业1
    秋季学习总结
    记叙在人生路上对你影响最大的三位老师
    2019年春季学期第二周作业
    币值转换
    第九周作业
    第八周作业
    第七周作业
    第六周作业
    第五周作业
  • 原文地址:https://www.cnblogs.com/wanghongjie/p/4883178.html
Copyright © 2011-2022 走看看