您的位置:首页 > 编程语言 > Java开发

spring aop 实践

2015-07-15 19:09 513 查看
<bean id="flowSaveAspect" class="com.aop.FlowSaveAspect" />

<aop:config >

<!-- 添加流程保存的切面方法 -->

<aop:pointcut expression="execution(* *..ZBZL*Service.save(..))" id="flowSavePoint"/>

<aop:aspect ref="flowSaveAspect" order="1">

<aop:around method="aroundMethod" pointcut-ref="flowSavePoint"/>

</aop:aspect>

</aop:config>

<!-- 自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面 -->

<aop:aspectj-autoproxy />

* *..ZBZL*Service.save(..)

第一个 * 表示返回值是任意 后面以空格隔开 ,第二个* 表示任意 包名 ,但是只是 一级的任意包名,后面的两个点,表示是可以任意的包及子包 (这里只有一个点的话,只能在某一层包的下面找了。) save 是方法名 括号 里的两个点表示 任意参数

execution 里面可以是 接口 ,也可以是具体的类。测试是都可以的,估计自动解析吧。

第一次测试不行,后面发现是扫描包的配置没有包含到需要 aop的那些类

参考:http://xtu-xiaoxin.iteye.com/blog/630206
http://chinaxxren.iteye.com/blog/981541
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: