Springに関する事務

1871 ワード

まず何かのことと基本概念を理解します.
トランザクションとは:トランザクション(Transaction)は、データベース内の各種データをアクセスして更新することができるプログラム実行ユニットです.
事務の四つの特性
事務の特性-ACID:
原子性(Atomicity)
コンセンサス(Conssistency)
隔離性(Isolation)
耐久性(Durability)
事務の特性-原子性:
事務中の操作は全部やるか、しないかです.
トランザクションは切り離すことができません.
事務はComit/Rollbackで終わらなければなりません.
事務の特性-整合性:
単独で実行するトランザクションは、データベースの整合性を保つ必要があります.
一つの一致状態から別の一致状態に遷移する.
原子性に関係する
事務の特性-分離性:
複数の合併事務の間は互いに干渉してはならない.
併発は事務の執行に影響しない
事務の特性-持久性:
いったん事務が成功したら、データベースの更新は長く続くはずです.
ディスクに書き込む前にシステムが壊れています.
次の起動後も、データ更新の有効性を保証します.
ですから、私たちのプログラムでは、データベースを何度も操作するところに事務を入れる必要があります.では、どのようにスプリング3に事務を入れますか?注釈があるとすべてが簡単です.まずspringの配置ファイルに下記のコードを入れます.

<!--       -->
		<bean id="txManager"
			class="org.springframework.jdbc.datasource.DataSourceTransactionM-anager">
			<property name="dataSource">
				<ref local="dataSource" />
			</property>
		</bean>
		<!-- surrpot proxool shutdown -->
<bean id="dataSourceFacade" class="org.logicalcobwebs.proxool.ProxoolFacade"
			destroy-method="shutdown" />

		<!--             -->
<tx:annotation-driven transaction-manager="txManager" />
serviceで使用する場合は、クラスまたはインターフェースの実装のような何らかの方法に@Transationを加えるだけで事務管理が完了し、コメントがインターフェースであれば、そのインターフェースのすべての実装クラスが事務化される.
注事務の注意事項を使う:
1.service階で異常をブロックしないで、異常を捨てよう!
2.注釈事務はpublicの方法にしか使えません.他の方法は無効になりました.また、classに注釈を加えることもできます.このような現在の種類のすべての公共方法に事務機能を追加しました.
3.インターフェースに注解事務を追加しました.そのすべての実現インターフェースには事務特性があります.コメントをインターフェースに付けないようにしてください.
4.デフォルトでは、事務方法があり、RuntimeExceptionに遭遇した時はロールバックします.  検査された異常に遭遇したら転げません.すべての異常をロールバックしたいなら、@Transactiol(rollbackFor={Exception.class、その他の異常}を追加します.