• Spring之二:Spring AOP概述


    一、AOP概念回顾

      AOP是Aspect-Oriented Programming(面向方面编程)的简称,

    虽然可以利用面向对象的方法可以很好地组织代码,也可以通过继承关系实现代码重用,但是程序中总是会出现一些重复的代码,而且不太方便使用继承的方法把它们重用和管理起来。它们的功能重复并且需要作用在不同的地方,虽然可以对这些代码做一些简单的封装,使之成为一些公共函数,但是在这种显示的调用中,使用它们并不是很方便。

    在使用AOP后,不仅可以将这些重复的代码抽取出来单独维护,比起传统手段中,直接调用公用模块之外,通过AOP提出横切的概念,把模块功能证交化的同时,也在此基础上提供了一系列横切的灵活实现。

    AOP联盟的网站上提到了以下的AOP技术:

    • AspectJ:源代码和字节码基本的编织器,用户需要使用不同于java的新语言。
    • AspectWerkz:AOP框架,使用字节码动态编织和XML配置。
    • JBoss-AOP:基于拦截器和元数据的AOP框架,运行在JBoss应用服务器上。
    •  BCEL(Byte-Code Engineering Library):Java字节码操作类库
    • Javassist:java字节码操作类库;

     对应于现有的AOP实现方案,AOP联盟对它们进行了一定程度的抽象,从而定义出AOP体系结构,结合这个体系结构去了解AOP技术,对我们理解AOP的概念是非常有帮助的,这个AOP体系结构如下:

      在Spring AOP中,是使用java语言来实现增强对象与切面增强应用的,并为这两者的结合提供了配置环境。

    • 对于编织配置,可以使用IoC容器来完成。
    • 对于POJO对象的配置,本来就是Spring的核心IoC容器的强项。

    因此,对于使用Spring的AOP开发而言,使用POJO就能完成AOP任务。

    但是,对于其他的AOP实现方案,可能需要使用特定的实现语言、配置环境甚至是特定的编译环境。

  • 相关阅读:
    80.常用的返回QuerySet对象的方法使用详解:order_by
    79.常用的返回QuerySet对象的方法使用详解: filter, exclude,annotate
    78.objects对象所属类原理分析
    69.ORM查询条件:isnull和regex的使用
    北邮 自考 互联网及其应用 考核指导
    北邮 自考 Java语言程序设计(一) 考核指导
    计算机网络自考群
    电气工程及自动化 (独立本科) 自考
    清华大学 研究生 培养方案
    windows10 M557 连接 匹配
  • 原文地址:https://www.cnblogs.com/duanxz/p/3756547.html
Copyright © 2020-2023  润新知