二、聲明式事務(wù)管理 Spring聲明式管理主要是通過TransactionProxyFactoryBean來包裝要管理的目標(biāo)對象,代理目標(biāo)對象要實(shí)現(xiàn)的接口。看如下代碼首先定義一個目標(biāo)對象
同編程式事務(wù)管理,都需要有transactionManager的對象,這里就不再重復(fù)設(shè)置;下面看如果設(shè)置TransactionProxyFactoryBean來代理目標(biāo)對象
target屬性是目標(biāo)對象;proxyInterface是目標(biāo)對象所實(shí)現(xiàn)的接口;transactionAttributes屬性是定義事務(wù)的設(shè)置級別等。其中"-Exception"表示對所有的異常都做回滾動作。TransactionTemplatate 如果要給對象添加更多的事務(wù)屬性,那么使用上述配置便會變得非常臃腫。為了避免該問題你可以使用Transaction Template Beanr為了繼承這個bean的所有bean指定屬性如下,1:先定義一個tmplate bean
2:創(chuàng)建一個包裝事務(wù)的bean定義,在transactionAttributeSource屬性中引用這個bean