zoukankan      html  css  js  c++  java
  • Spring AOP实践

    Spring AOP和AspectJ是AOP的两种不同实现。前者是动态代理,后者是静态代理。

    AOP的作用就是分离关注点,它将与业务无关的逻辑抽离出来单独封装成模块,实现核心业务与通用的逻辑的解耦。

    首先,有几个概念需要了解一下:

    • aspect(方面):简单的理解,将公共的逻辑剥离出来并封装成模块,这个模块就是aspect,可以理解成就是一个功能,比如:事务就是一个功能
    • joinpoint(连接点):在Spring AOP中连接点就是一个方法
    • advice(通知):在特定的连接点所采取的动作
    • pointcut(切入点):可以这样理解,切入点就是指明哪些方法调用需要应用通知
    • target object(目标对象):实际调用的方法

    为了方便理解,我们这样想:aspect就是我们要实现的功能,那么这个功能所要做的事情就是advice,这些功能应用到哪些地方就是pointcut。

    在Spring AOP中,定义一个AOP功能只需要三步:

    1、声明aspect

    2、定义joinpoint

    3、定义advice

    下面的示例采用了两种方式来实现一个AOP功能

    工程结构如下

    依赖的jar如下

    第一种:基于@AspectJ注解的方式

    第二种:基于XML配置文件的方式

  • 相关阅读:
    聊聊MySQL的索引吧
    污力满满的技术解读,瞬间印象深刻
    lua语言(1):安装、基本结构、函数、输入输出
    pandas中的那些让人有点懵逼的异常(坑向)
    与分布式相关的面试题
    图解IP基础知识
    Date类
    String 与StringBuffer习题
    Java的常用类 String
    线程练习题
  • 原文地址:https://www.cnblogs.com/cjsblog/p/8545090.html
Copyright © 2011-2022 走看看