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
  }
}

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

spring揭秘 读书笔记 六 bean的一生

我们知道,Spring容器具有对象的BeanDefinition来保存该对象实例化时需要的数据。 对象通过container.getBean()方法是才会初始化该对象。 BeanFactory 我们知...
  • dlf123321
  • dlf123321
  • 2015年08月24日 16:05
  • 1791

《Spring揭秘》第五章 读书笔记 —— ApplicationContext

Application容器介绍
  • outOfSeven
  • outOfSeven
  • 2016年11月17日 10:27
  • 283

Spring架构揭秘-AOP

1、AOP概述 2、Spring AOP原理 3、Spring AOP架构解析   一、AOP概述      Java程序员在写代码的时候通常都是使用新建对象类来描述业务特性,然后通...
  • sgkbkega
  • sgkbkega
  • 2016年09月08日 10:18
  • 116

Spring中AOP初识

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

初识spring(十)

spring代理之AOP代理aop代理是spring的重重之重,也有的时候称之为面向切面编程。aop代理可以用注解配置和xml配置 我们先用注解配置IUserDao.javapackage cn.i...
  • BuZiShuoquoto
  • BuZiShuoquoto
  • 2016年08月09日 13:40
  • 89

Spring aop--几种不同的使用方式

最近听老师讲关于AOP关于容器的课,突然觉得之前对aop的理解都不是很到位,先不说理解就是应用都很少,最近也写了几篇关于AOP的博客,都是一些简单的demo,今天在这里再说一下关于Spring A...
  • jly4758
  • jly4758
  • 2015年05月31日 17:48
  • 7842

深入理解Spring AOP之基本概念

深入理解Spring AOP之基本概念 AOP到底是什么 Spring AOP和IOC是听到的关于Spring最频繁的两个词了。现在来重点关注AOP这个...
  • yujin753
  • yujin753
  • 2015年06月29日 22:30
  • 4764

Spring MVC中AOP无效、不起作用,解决方案之一

最近由于项目原因,在Spring+SpringMVC+Mybatis的环境中,增加对controller或是service的日志监控,在网上搜了半天,按照SpringAop的配置出不了结果,在按照网上...
  • tianjun2012
  • tianjun2012
  • 2015年08月20日 17:06
  • 13618

浅谈Spring中IOC和AOP是什么?

解释Spring中的IOC? IOC:Inversion of Control控制反转,也叫(Dependency Injection)依赖注入, dao接口的实现不再是业务逻辑层调用工厂类去获取,...
  • snn1410
  • snn1410
  • 2015年04月21日 17:46
  • 10578

Spring AOP 简介以及简单用法

Spring AOP 简介以及简单用法如果你去面试java开发, 那么Spring的AOP和DI几乎是必问的问题。那么AOP是什么呢?一. AOP所谓Aop就是 Aspect-OrientedProg...
  • nvd11
  • nvd11
  • 2016年07月06日 00:39
  • 2397
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring揭秘(十)——初识AOP
举报原因:
原因补充:

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