江明涛的博客
Spring AOP的连接点和切点的区别
Spring AOP的连接点和切点的区别

Spring AOP的连接点和切点的区别

在Spring AOP框架中,连接点和切点是两个重要的概念。它们在面向切面编程中扮演着不同的角色。
连接点是整个应用程序中可以被拦截的某个特定点,比如方法的执行、异常的抛出、字段的访问等。在Spring AOP中,连接点由两个要素来描述:方法和位置。例如,在一个业务逻辑类的某个方法执行之前或之后即可被视为一个连接点。
切点则是通过表达式或者配置方式指定的一组连接点的集合。换句话说,切点是对连接点的筛选。切点可以根据需要选择特定的连接点,以便在这些连接点上应用切面。比如,在一个Web应用中,我们可能只对Controller层或Service层的方法进行日志记录,那么我们可以通过切点来指定这些特定的连接点。
总结来说,连接点是AOP中的一个抽象概念,是引导切面织入的具体点;而切点则是通过对连接点进行筛选和匹配的方式来确定织入切面的位置。