暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Spring中的切面

吉林乌拉 2019-08-23
979

我们在使用增强时知道,横切逻辑会添加到目标类的所有方法中,无论是方法前还是方法后。而有时,我们只想将增强添加到我们需要添加的方法中,例如添加事物管理的增强。这时我们就要使用切点来完成这种需求了。在spring中可以通过Pointcut接口描述切点。Pointcut接口由两部分组成,它们分别是ClassFilter和MethodMatcher构成。顾名思义,看名称我们知道前者是定位到某些特定的类上的,而后者是定位到某些特定的方法上的。正是因为如此,切点才可以定位到某些类的某些具体方法。

在spring中通过Advisor接口来表示切面,切面也就是同时包括横切代码和连接点的信息。切面可分为3种类型,它们分别是:

  • Advisor:一般切面,此切面横切的连接点是所有目标类的方法。

  • PointcutAdvisor: 切点切面,它包括Advice和Pointcut两个类,所以可以通过切点,来定义切面的连接点。

  • IntroductionAdisor: 引介切面,和引介增强一样它是作用在类上面的,所以它是通过ClassFilter时行定义的。

  • 静态普通方法名匹配切面




文章转载自吉林乌拉,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论