aop:after使用时有疑惑,麻烦指点下
关于aop:after,老师说是最后一场代码,可是我无意中切换了一下xml中配置顺序
然后test执行结果就变成了
这是什么原因呢?老师或哪位大侠指点下~谢谢~
关于aop:after,老师说是最后一场代码,可是我无意中切换了一下xml中配置顺序
然后test执行结果就变成了
这是什么原因呢?老师或哪位大侠指点下~谢谢~
2019-03-08
aop执行方式为:前置通知==>所要增强的方法==>后置通知==>最终通知
在出现异常时会进行:前置通知==>所要增强的方法==>异常通知==>最终通知
此时的后置通知不会显示而显示异常通知.
而用xml进行配置时,是按照我们写好的顺序进行动态组合完成,最终和后置通知是随着xml配置的前后顺序改变的,但是经过测试不会影响前置和所要增强的方法的顺序,但是会影响最终和后置通知的位置.
我认为利用环绕通知进行方法的增强(aop:around)是一个比较好的方式,不会出现顺序问题.
还有就是,关于这个aop方法增强的应用就我现在所认知大多还是为了事务服务,所以通过配置 事务管理和事务注解支持
<!-- 事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 开启事务控制的注解支持 --> <tx:annotation-driven transaction-manager="transactionManager"/>
将事务放入spring ioc容器中就可以解决数据的一致性和完整性问题.
举报