Spring的傳播屬性是用來控制事務的傳播行為的,包括以下幾種屬性:
REQUIRED:表示當前方法必須在一個事務中運行,如果當前存在事務,則加入該事務;如果不存在事務,則創建一個新的事務。
SUPPORTS:表示當前方法支持在一個事務中運行,如果當前存在事務,則加入該事務;如果不存在事務,則以非事務的方式運行。
MANDATORY:表示當前方法必須在一個事務中運行,如果當前存在事務,則加入該事務;如果不存在事務,則拋出異常。
REQUIRES_NEW:表示當前方法必須在一個新的事務中運行,如果當前存在事務,則將當前事務掛起。
NOT_SUPPORTED:表示當前方法不應該在事務中運行,如果當前存在事務,則將當前事務掛起。
NEVER:表示當前方法不應該在事務中運行,如果當前存在事務,則拋出異常。
NESTED:表示當前方法必須在一個嵌套的事務中運行,如果當前存在事務,則在嵌套事務內執行;如果不存在事務,則創建一個新的事務。
這些傳播屬性可以通過在@Transactional注解中指定來控制方法的事務行為。