Spring 切面、切点、连接点、通知的概念
切点(Pointcut)可以被视为一个过滤器,它定义了哪些连接点(Join Point)应该被拦截。切点使用谓词(Predicate)来匹配连接点,类似于一个条件筛选器。它决定了在应用通知之前或之后拦截哪些连接点。
连接点(Join Point)是程序执行过程中的特定点,例如方法调用、方法执行、异常处理等。连接点是可以被拦截和应用通知的地方。它们是应用程序中的具体实体,可以被切面所影响。
切面(Aspect)是一个模块化的关注点,它跨越多个类,并定义了在连接点处执行的特定行为。切面是由通知和切点组成的。通知(Advice)是在连接点上执行的动作或逻辑,它定义了在切点处执行的代码。切点和通知共同组成了切面。
可以将切面看作是对连接点进行过滤和处理的逻辑组件,切点决定了哪些连接点会被拦截,通知定义了在拦截到的连接点处执行的操作。