実装メカニズムのトランザクション春注釈モード

@Transactionalアノテーションは、クラスレベルに、同じトランザクション属性情報が設定されたクラスのすべてのパブリックメソッドを表す場合、
クラスレベルに@Transactionalアノテーション、メソッドレベルも@Transactional、メソッドレベルのアプリケーションを備えた場合にトランザクション属性はクラスレベルメソッドレベルの上書きすることトランザクション属性情報管理サービス、
コンフィギュレーション情報を。

トランザクションは、実行時例外(RuntimeExceptionが異常)、またはエラーをスローした場合、デフォルトで、春はトランザクションをロールバックし、また、春には、トランザクションをロールバックしません。
あなたは、トランザクション内の他の例外をスローする場合は、春の期待また、トランザクションをロールバックすることができ、例えば、rollbackForでカスタム例外クラスを指定することができる
(伝搬= Propagation.REQUIRED、rollbackFor = @Transactional MyException.class)

@Transactionalノートは唯一のトランザクション管理を行うために、パブリックメソッドに適用されます。

トランザクション実装メカニズム春の注釈モード:
ターゲット・メソッド@Transactionalは、アプリケーションのシステムコールは、デフォルトのAOPプロキシオブジェクトを生成します宣言したときに、プロキシオブジェクトは、構成情報は、ターゲットメソッド@Transactionalは、インターセプタのトランザクションによって宣言されたかどうかを決定@Transactional属性
TransactionInterceptor切片に、ターゲットメソッドの実行がTransactionInterceptorを傍受する前に、トランザクションを作成して追加され、次いで間接的にデータソースデータソースによって制御インターセプタがコミットするかどうか、実装の方法に従って異常である
トランザクションを、またはロールバック。

おすすめ

転載: www.cnblogs.com/afeng-chen/p/12618615.html