├── .gitignore ├── README.md ├── pom.xml └── src ├── main └── java │ └── davenkin │ ├── BankService.java │ ├── DataSourceFactory.java │ ├── step1_failure │ ├── FailureBankDao.java │ ├── FailureBankService.java │ └── FailureInsuranceDao.java │ ├── step2_ugly │ ├── UglyBankDao.java │ ├── UglyBankService.java │ └── UglyInsuranceDao.java │ ├── step3_connection_holder │ ├── ConnectionHolder.java │ ├── ConnectionHolderBankDao.java │ ├── ConnectionHolderBankService.java │ ├── ConnectionHolderInsuranceDao.java │ ├── SingleThreadConnectionHolder.java │ └── TransactionManager.java │ ├── step4_transaction_template │ ├── TransactionTemplate.java │ └── TransactionTemplateBankService.java │ ├── step5_transaction_proxy │ ├── BareBankService.java │ └── TransactionEnabledProxyManager.java │ └── step6_annotation │ ├── AnnotationBankService.java │ ├── TransactionEnabledAnnotationProxyManager.java │ └── Transactional.java └── test └── java └── davenkin ├── BankFixture.java ├── step1_failure └── FailureBankServiceTest.java ├── step2_ugly └── UglyBankServiceTest.java ├── step3_connection_holder └── ConnectionHolderBankServiceTest.java ├── step4_transaction_template └── TransactionTemplateBankServiceTest.java ├── step5_transaction_proxy └── BareBankServiceTest.java └── step6_annotation └── AnnotationBankServiceTest.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 对应博客地址:http://www.cnblogs.com/davenkin/archive/2013/02/16/java-tranaction-1.html 2 | 3 | run: mvn package 4 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/davenkin/BankService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/BankService.java -------------------------------------------------------------------------------- /src/main/java/davenkin/DataSourceFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/DataSourceFactory.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step1_failure/FailureBankDao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step1_failure/FailureBankDao.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step1_failure/FailureBankService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step1_failure/FailureBankService.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step1_failure/FailureInsuranceDao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step1_failure/FailureInsuranceDao.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step2_ugly/UglyBankDao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step2_ugly/UglyBankDao.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step2_ugly/UglyBankService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step2_ugly/UglyBankService.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step2_ugly/UglyInsuranceDao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step2_ugly/UglyInsuranceDao.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step3_connection_holder/ConnectionHolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step3_connection_holder/ConnectionHolder.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step3_connection_holder/ConnectionHolderBankDao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step3_connection_holder/ConnectionHolderBankDao.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step3_connection_holder/ConnectionHolderBankService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step3_connection_holder/ConnectionHolderBankService.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step3_connection_holder/ConnectionHolderInsuranceDao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step3_connection_holder/ConnectionHolderInsuranceDao.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step3_connection_holder/SingleThreadConnectionHolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step3_connection_holder/SingleThreadConnectionHolder.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step3_connection_holder/TransactionManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step3_connection_holder/TransactionManager.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step4_transaction_template/TransactionTemplate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step4_transaction_template/TransactionTemplate.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step4_transaction_template/TransactionTemplateBankService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step4_transaction_template/TransactionTemplateBankService.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step5_transaction_proxy/BareBankService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step5_transaction_proxy/BareBankService.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step5_transaction_proxy/TransactionEnabledProxyManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step5_transaction_proxy/TransactionEnabledProxyManager.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step6_annotation/AnnotationBankService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step6_annotation/AnnotationBankService.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step6_annotation/TransactionEnabledAnnotationProxyManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step6_annotation/TransactionEnabledAnnotationProxyManager.java -------------------------------------------------------------------------------- /src/main/java/davenkin/step6_annotation/Transactional.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/main/java/davenkin/step6_annotation/Transactional.java -------------------------------------------------------------------------------- /src/test/java/davenkin/BankFixture.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/test/java/davenkin/BankFixture.java -------------------------------------------------------------------------------- /src/test/java/davenkin/step1_failure/FailureBankServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/test/java/davenkin/step1_failure/FailureBankServiceTest.java -------------------------------------------------------------------------------- /src/test/java/davenkin/step2_ugly/UglyBankServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/test/java/davenkin/step2_ugly/UglyBankServiceTest.java -------------------------------------------------------------------------------- /src/test/java/davenkin/step3_connection_holder/ConnectionHolderBankServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/test/java/davenkin/step3_connection_holder/ConnectionHolderBankServiceTest.java -------------------------------------------------------------------------------- /src/test/java/davenkin/step4_transaction_template/TransactionTemplateBankServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/test/java/davenkin/step4_transaction_template/TransactionTemplateBankServiceTest.java -------------------------------------------------------------------------------- /src/test/java/davenkin/step5_transaction_proxy/BareBankServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/test/java/davenkin/step5_transaction_proxy/BareBankServiceTest.java -------------------------------------------------------------------------------- /src/test/java/davenkin/step6_annotation/AnnotationBankServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davenkin/java_transaction_workshop/HEAD/src/test/java/davenkin/step6_annotation/AnnotationBankServiceTest.java --------------------------------------------------------------------------------