@Transactional は Spring フレームワークのアノテーションで、このメソッドがトランザクション管理下で実行される必要があることを示します。通常、データベース トランザクションの制御に使用され、メソッド実行プロセス全体で予期しないデータ操作が発生しないようにし、データの一貫性と整合性を確保します。
このアノテーションは、メソッド、クラス、インターフェイス、またはインターフェイス メソッドに配置できます。クラス レベルに配置された場合、アノテーションはすべてのメソッドにトランザクション制御が必要であることを宣言します。
メソッド レベルで @Transactional アノテーションを使用すると、メソッドの実行中にトランザクション管理が必要であることを示します。メソッドの実行中に例外がスローされた場合、トランザクション全体が前の状態にロールバックされます。
@Transactional アノテーションが付けられたメソッドを呼び出すと、Spring は自動的にトランザクションをオープンし、メソッドの実行終了後にメソッドの実行に応じてトランザクションをコミットするかロールバックするかを決定します。メソッドが正常に実行されると、Spring は commit() メソッドを実行してトランザクションをコミットし、メソッドが例外をスローすると、Spring は rollback() メソッドを実行してトランザクションをロールバックします。
@Transactional アノテーションを使用する場合は、Spring コンテキスト構成ファイルでトランザクション マネージャーを構成し、トランザクションを使用する必要があるクラスまたはメソッドにアノテーションを追加する必要があります。
たとえば、次のコード スニペットは、myMethod という名前のメソッドをトランザクションが必要であるとマークします。
@Transactional
public void myMethod() {
// 做一些数据库操作
}
このようにして、myMethod のデータベース操作はすべて 1 つのトランザクションで実行され、いずれかの操作が失敗した場合は、データの整合性を確保するためにトランザクション全体がロールバックされます。
画面の前にいるのがわかりますか?