谈谈对Spring AOP的认识

来源:互联网 发布:巫师3新手必知 编辑:程序博客网 时间:2024/06/11 04:39

参考了大神的博客,对AOP只是有个大概的了解,今天就只是相当于做个笔记,加深下自己对于AOP的认识与理解。

1、认识AOP

AOP(Aspect Oriented Programming),面向切面编程。可以从一下几点来认识AOP

  • 可以理解为是OOP(面向对象编程)的补充与完善。
  • 类似于日志代码、安全性、异常处理等往往横向地散布在所有的对象层次中,但与对象的核心功能代码毫无关系,这种散布在各个对象中的代码被称为“横切”
  • 相比较OOP而言,OOP只允许纵向定义,不适合横向的。AOP利用“横切”技术剖解开封装的对象内部,将能影响到多个类的公共行为封装到一个可重用的模块,即为“切面”。
  • OOP中,类(class)是基本单元,而AOP中基本单元是“Aspect”切面。
  • “Aspect”技术,即“横切”技术,降低了模块之间的耦合度,有利于后期的可操作性和可维护性

2、AOP的重要知识点

  • Aspect切面:是基本单元,通过也是一个类,在其中可以定义切入点和通知。
  • JointPoint连接点:程序在执行过程中明确的点,一般就是方法的调用。
  • Advice通知:指拦截到连接点之后要执行的代码,有before(前置),after(后置),afterReturning(异常),afterThrowing(最终),around(环绕)五类。
  • Pointcut切入点:带有通知的连接点,在程序中主要体现为书写切入点表达式。
  • Weave织入:将切面应用到目标对象导致代理创建的过程。
  • Introduction引入:在运行期可以为类动态地添加一些方法或字段。
原创粉丝点击