Spring揭秘(十)——初识AOP

原创 2016年12月16日 10:39:49

初识AOP

AOP全称为Aspect-Oriented Programming,中文翻译为面向切面编程。使用AOP,我们可以对类似于日志记录、安全检查、事务管理等系统需求进行模块化地组织,简化系统需求与实现之间的对比关系,进而使得整个系统的实现更具模块化。

将AO组件集成到OOP组件的过程,在AOP中称之为织入(Weave)过程。
这里写图片描述


AOP国家的公民

  1. Joinpoint
    在系统运行之前,AOP的功能模块都需要织入到OOP的功能模块中。所以,要进行这种织入过程,我们需要知道在系统的哪些执行点上进行织入操作,这些将要在其上进行织入操作的系统执行点就称之为Joinpint。

  2. Pointcut
    Pointcut概念代表的是Joinpoint的表述方式。将横切逻辑织入当前系统的过程中,需要参照Pointcut规定的Joinpoint信息,才可以知道应该往系统的哪些Joinpoint上织入横切逻辑。

  3. Advice
    Advice是单一横切关注点逻辑的载体,它代表将会织入到Joinpoint的横切逻辑。
    按照Advice在Joinpoint位置执行时机的差异或者完全功能的不同,Advice可以分为多种形式。
    • Before Advice
    • After Advice
    • After returning Advice
    • After throwing Advice

下面举个例子,直观展示下各种Advice的执行时机

public void mockMethod(int x, int y) {
//before advice
  try {
    int result = x / y;
    return result;//after returning
  }catch(ArithmeticException  e){
    system.out.println(e.getMessage());//after throwing advice
  }finally{
    //final process  after advice
  }
}

这里写图片描述

相关文章推荐

存储到数据库中的文章,为什么取出来之后就没有换行、空格了?

在taxtarea中输入的文本。如果含有回车或空格。在界面上显示的时候则不哪么正常。回车消失了,空格变短了。 如何解决这个问题呢。有2种方法。 1.使用标签 w3c对pre元素是这样定义的:pr...

AOP实现方式1——经典的基于代理的AOP实现

1.定义接口Perform package com.show; /** * Created by kenneth on 2017/4/6. */ public interface Perfor...

初识Spring——AOP

Spring有两大核心,IOC和AOP。IOC在java web项目中无时无刻不在使用(上篇博客已经写了IOC基础的使用)。然而AOP用的比较少,但是这并不以为这不使用,在一些系统中,经常需要在一个服...

Spring中AOP初识

AOP 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等实现方式 预编译:AspectJ 运行期...

《Spring揭秘》——AOP(笔记)

AOP(Aspect-Oriented Programming): 静态AOP: 实现。以AspectJ为代表。AspectJ会使用ajc编译器将各个Aspect以Java字节码的形式编译...

认识Windows Azure之一——初识Azure

  • 2014年08月31日 22:49
  • 211KB
  • 下载

Spring笔记——初识Spring

一、Spring简单介绍 Spring是一个开源框架,是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。 Spring用bea...

Spring——aop

  • 2012年12月23日 19:36
  • 4.37MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring揭秘(十)——初识AOP
举报原因:
原因补充:

(最多只允许输入30个字)