概述
什么是AOP?
AOP(Aspect Oriented Programming,面向切面编程)是Spring另一个重要特征。AOP把一个业务流程分成几个部分,例如:日志记录、权限检查、业务处理等,然后把它们组装成完整的业务流程。每个部分被称为切面(Aspect)或者,关注点。
与OOP进行比较?
在OOP(Object Oriented Programming)中,关键单元模块度是类,而AOP中是方面。
AOP术语
项 | 描述 |
---|---|
Aspect(方面) | 一个模块具有一组提供横切需求的 APIs |
Join point(连接点) | 在应用程序中它代表一个点 |
Advice(通知) | 这是实际行动之前或之后执行的方法 |
Pointcut(切入点) | 这是一组一个或多个连接点,通知应该被执行 |
Introduction(引用) | 引用允许添加新方法或属性到现有的类中 |
Target object(被通知对象) | 被一个或者多个方面所通知的对象,这个对象永远是一个被代理对象。 |
Weaving | Weaving 把方面连接到其它的应用程序类型或者对象上,并创建一个被通知的对象。这些可以在编译时,类加载时和运行时完成 |
Aspect方面
方面其实就是项目中的一