ホームページ  >  記事  >  Java  >  Javaの宣言的トランザクションのメソッドは何ですか

Javaの宣言的トランザクションのメソッドは何ですか

PHPz
PHPz転載
2023-05-16 19:10:591538ブラウズ

1. 宣言型トランザクション

AOP (アスペクト指向) メソッドを使用して、メソッドの前にプログラムによるトランザクション メソッドを使用して トランザクションを開き、送信または送信します。メソッドのロールバック後。トランザクションを制御するには、構成ファイル メソッドまたはアノテーション メソッド (@Transactional など) を使用します。

メソッドの注釈は、メソッドがトランザクションを自動的に開始すること、クラスの注釈は、クラス全体のすべてのメソッドがトランザクションを使用することです。

2. メソッド

1. TransactionProxyFactoryBean に基づく宣言型トランザクション管理

applicationContext.xml

Javaの宣言的トランザクションのメソッドは何ですか

での設定## その後、必要に応じて、トランザクション管理のサービス層がプロキシ クラス accountrviceProxy

@Resource(name="accountrviceProxy")

を挿入します。この方法には欠点があります。つまり、トランザクション管理を必要とする各サービス クラスをそのプロキシ クラスと一致させる必要があります。設定は比較的簡単ですが、面倒です。

2. AspectJ XML に基づく宣言型トランザクション管理

エントリ ポイントを設定するときに、次の式があります:

expression="execution(* com.cn.study.spring.service.IAccountService+.*(..))"

括弧内のパラメータ順番に、メソッドの戻り値の型、パッケージ名、クラス名、メソッド名、およびメソッド パラメータを表します

#ここで、* は任意の値を表します

#IAccountService は、IAccountService インターフェイスのすべての実装クラスのメソッドを表します

この方法は、より一般的に使用される方法の 1 つです。

3. アノテーションに基づく宣言型トランザクション管理

3 番目の方法が最も簡単で、applicationContext.xml でアノテーション トランザクションを有効にするドライバーを設定するだけで済みます。次に、トランザクション管理が必要なクラスの前にアノテーションを追加します:

@Transactional(propagation=Propagation.REQUIRED)

以上がJavaの宣言的トランザクションのメソッドは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。