美文网首页
Spring AOP面向切面编程

Spring AOP面向切面编程

作者: 花无缺_0159 | 来源:发表于2019-02-08 16:41 被阅读0次

    【目录】
    1 什么是AOP
    2 Spring AOP编程两种方式
    3 Spring AOP编程代理两种方式
    4 Spring AOP编程相关术语
    5 Spring AOP配置

    1 什么是AOP ?

    AOP (Aspect Oriented Programing) 称为:面向切面编程,OOP(面向对象编程)思想的延续 。
    AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视、事务管理、安全检查、缓存,日志记录等)。简单来说,就是基于代理思想,对原来目标对象,创建代理对象,在不修改原对象代码情况下,通过代理对象,调用增强功能的代码,从而对原有业务方法进行增强 。

    AOP思想概念举例

    2 Spring AOP编程两种方式

    简单的说,Spring内部支持两套AOP编程的方案:

    • Spring 1.2 开始支持AOP编程 (传统SpringAOP编程),编程比较复杂,了解即可 。
    • Spring 2.0 之后支持第三方 AOP框架(AspectJ ),实现另一种 AOP编程——推荐使用。

    3 Spring AOP编程代理两种方式

    Spring AOP是基于动态代理的——优先选用JDKProxy动态代理;

    1. Proxy动态代理:被代理的对象必须要实现接口;
    2. Cglib动态代理:被代理的对象不能被final修饰,基于继承。
    代理知识小结

    4 Spring AOP编程相关术语

    以代理小学生写暑假作业为例:

    术语表

    简单说切面就是需要代理一些方法和增强代码 。

    5 Spring AOP配置

    开发方法:
    确定目标(bean)——编写通知——配置切点切面
    具体为:
    a) 导包:
    i. 基本包;
    ii. spring-aspects和spring-aop ;
    iii. aop联盟包 – aopalliance;
    iv. aop织入包 - aspectj.weaver;
    b) 自定义通知,五种自定义通知类型:
    i. before 前置通知
    ii. after 最终通知(后置通知)
    iii. afterReturning 成功通知(后置通知)
    iv. afterThrowing 异常通知(后置通知)
    v. around 环绕通知

    各种Advice方法可接收的参数和返回值小结

    c) 配置applicationContext.xml。

    注:部分内容来自SiKi学院。

    相关文章

      网友评论

          本文标题:Spring AOP面向切面编程

          本文链接:https://www.haomeiwen.com/subject/litmsqtx.html