二、声明式事务管理 Spring声明式管理主要是通过TransactionProxyFactoryBean来包装要管理的目标对象,代理目标对象要实现的接口。看如下代码首先定义一个目标对象
同编程式事务管理,都需要有transactionManager的对象,这里就不再重复设置;下面看如果设置TransactionProxyFactoryBean来代理目标对象
target属性是目标对象;proxyInterface是目标对象所实现的接口;transactionAttributes属性是定义事务的设置级别等。其中"-Exception"表示对所有的异常都做回滚动作。TransactionTemplatate 如果要给对象添加更多的事务属性,那么使用上述配置便会变得非常臃肿。为了避免该问题你可以使用Transaction Template Beanr为了继承这个bean的所有bean指定属性如下,1:先定义一个tmplate bean
2:创建一个包装事务的bean定义,在transactionAttributeSource属性中引用这个bean