1. Introducing the TX namespace in the Spring configuration file
xmlns:tx= "Http://www.springframework.org/schema/tx"
2. Configure the transaction manager
<!--Configure the things manager - <BeanID= "TransactionManager"class= "Org.springframework.jdbc.datasource.DataSourceTransactionManager"> < Propertyname= "DataSource"ref= "DataSource"></ Property> </Bean>
3. Enable transaction annotations
<!-- Enable transaction Annotations - < transaction-manager= "TransactionManager"/>
4. Add @Transactional above the corresponding business code method to indicate that this method is subject to transaction management
// Spring's declarative Transactions @Transactional @Override publicvoid Purchase (String ISBN, String userName) { //1. Find the price according to the ISBN int price= BOOKSHOPDAO.FINDPRICEBYISBN (ISBN); // 2. Stock-1 Bookshopdao.updatebookstock (ISBN); // 3. Account Balance-price bookshopdao.updateaccount (userName, price); }
Spring4 Declarative Transactions