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

Spring的AOP简单理解

2017-03-15 10:07 441 查看
最近在研究spring的AOP,翻译出来的意思是面向切面。

总结如下:
所谓AOP就是将分散在各个方法处的公共代码提取到一处,

并通过类似拦截器的机制实现代码的动态整合。可以简单地想象成,

在某个方法的调用前、执行中、调用后和抛出异常时,动态插入自己的代码。

举个例子:A在执行银行操作,网XX行转了100到YY行,这其实是一个事务,如果中间一方发生问题,肯定会整体回滚,变为XX行不少100,YY行没多100的状态,这样才是正确的,可是在这整个事务中,我想知道中间的状态咋办,这时候就需要切面了,比如我想在XX行转了100时候就给一个单独的事务进行提交,记录XX行的状态,这时候就等于其实切开了一个事务。在一个事务中,提交另一个事务。

以上便是个人对AOP的理解。

在spring.xml中配置

<aop:config proxy-target-class="true">
<!-- define the method that required transactionManager -->
<aop:pointcut id="serviceMethods"
expression="execution(public * jp..*.service..*.newTransaction*(..))" />
<!-- define txAdvice -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods" />
</aop:config>


就能够对名为

newTransaction× 的方法名实现切面过程,在整个事务提交之前,率先提交。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: