spring aop配置总结

2017-06-05  本文已影响0人  Derek_zzz

引言

Spring aop支持@AspectJ注解的方式来配置切面,相比于手动配置xml且手动实现增强、切点的方式要方便很多。一般的配置流程如下:

1.配置xml

在Spring的xml配置文件里引入aop chema:

xmlns:aop="http://www.springframework.org/schema/aop"

<beans>里加上"<aop:aspectj-autoproxy>"

之后Spring容器会自动为那些加了@Aspect注解的component创建代理,织入切面。事实上,Spring内部依旧使用AnnotationAwareAspectJAutoProxyCreator完成了这部分工作,只是隐藏起来了。

如果需要使用CGlib针对类生成代理(jdk原生的代理只支持接口),在上述的配置项中增加属性:

proxy-target-class = true即可。

2.新建相应的切面类

只要加上@Component和@Aspect 注解,Spring容器会自动找到

3.切点逻辑

在方法上加@Pointcut 注解,可识别成切点,访问控制符(private、public protected)相应的表示切点可以被引用到的范围。

@Pointcut注解的value是AspectJ的切点语法,Spring支持大部分AspectJ语法。

4.增强逻辑

比较常用的有:@Before前置增强,@AfterReturning后置增强,@Around环绕增强,@AfterThrowing异常增强,@DeclareParants引介增强,@After final增强。

通过JoinPoint可以获取到连接点的相应信息。

上一篇 下一篇

猜你喜欢

热点阅读