spring使用基于注解的aop事务管理

spring使用基于注解的aop事务管理

ID:6648580

大小:94.00 KB

页数:4页

时间:2018-01-21

spring使用基于注解的aop事务管理_第1页
spring使用基于注解的aop事务管理_第2页
spring使用基于注解的aop事务管理_第3页
spring使用基于注解的aop事务管理_第4页
资源描述:

《spring使用基于注解的aop事务管理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、spring使用基于注解的AOP事务管理16.6 AOP事务管理AOP事务管理利用了SpringAOP的基础设施,在大多数情况下,SpringAOP会创建一个JDK代理以拦截方法调用。你可以使用装载时编织以在装载期编织切面,这样就不需要代理了(如果你记不清什么是装载时编织,请参看第6章)。你有两种方式来配置SpringAOP事务管理,基于注解的配置以及XML配置。16.6.1 使用基于注解的AOP事务管理你可以借助于AOP的自动代理,通过注解将事务性行为引入到现有的bean中。让我们以代码清单16-21开始吧,它展示了类DeclarativeTxBankS

2、ervice。代码清单16-21 DeclarativeTxBankService实现 请注意@Transactional属性,为了让Spring的事务管理基础设施可以利用该属性创建恰当的切入点和通知,我们需要使用AOP的自动代理和注解驱动的事务支持。代码清单16-22展示了与该注解相对应的XML配置。代码清单16-22 基于注解的事务管理的配置文件 该XML配置文件展示了标准的bankServicebean声明,紧跟其后的是标签。

3、driven/>标签使用@Transactional注解创建恰当的事务管理切面。接下来由通知匹配的bean。1.探索tx:annotation-driven标签标签是注解驱动的事务管理支持的核心。表16-3列出了标签的所有属性。表16-3 标签的属性属性说明transactionManager指定到现有的PlatformTransactionManagerbean的引用,通

4、知会使用该引用mode指定Spring事务管理框架创建通知bean的方式。可用的值有proxy和aspectj。前者是默认值,表示通知对象是个JDK代理;后者表示SpringAOP会使用AspectJ创建代理order指定创建的切面的顺序。只要目标对象有多个通知就可以使用该属性proxy-target-class该属性如果为true就表示你想要代理目标类而不是bean所实现的所有接口2.探索@Transactional注解凭借@Transactional注解我们就可以控制通知将要创建的事务定义的方方面面。就像使用transactionAttributes属

5、性表达式一样,你可以指定传播、隔离级别、超时以及允许和不允许的异常。表16-4列出了@Transactional注解的所有属性。表16-4 @Transactional注解的属性属性类型说明propagationorg.springframework.annotaion.transaction.Propagation指定事务定义中使用的传播isolationorg.springframework.annotation. transaction.Isolation设定事务的隔离级别timeoutint指定事务的超时(单位为秒)readOnlyboolean如

6、果为true,事务就被标识为只读noRollbackForClass[]目标方法可抛出的异常所构成的数组,但通知仍会提交事务rollbackForClass[]异常所构成的数组,如果目标方法抛出了这些异常,通知就会回滚事务3.基于注解的事务管理小结通过@Transactional注解,我们可以轻松地为一个方法声明事务。其好处在于你可以很直观地看到哪些方法带有事务,因为方法上面有该注解修饰。其缺点是你不得不为每个需要事务的方法都加上@Transactional注解。如果你使用的是默认

7、的事务属性,这就不算什么问题,但当你需要设置其他的事务属性时,这就变得很乏味了,因为你要不停的复制、粘贴。另一种方式就是用@Transactional注解去修饰类。这会将事务应用到该类中的所有方法。这种方式的问题在于所有的方法,包括简单的读取方法和设置方法也都运行在事务中了,尽管根本不需要这么做。XMLAOP事务管理能更好地处理这种情况。说明 虽然说通过使用@Transactional注解会使所有方法运行在事务中,但我还要再多说几句:其实准确的说法应该是如果某个类被@Transactional注解所修饰,那么该类实例化的Springbean的所有方法都是事

8、务性的。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。