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