day03-spring与数据库操作的框架解析即dataSource的获取(JDBC)、使用spring中已经有的事务进行JDBC操作(二)

2014-11-23 23:26:19 · 作者: · 浏览: 3
tract class AbstractPlatformTransactionManager implements PlatformTransactionManager{ //获取事务 public final TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException { //抽象方法 Object transaction = doGetTransaction(); } //将来谁继承该抽象类,谁实现该方法 protected abstract Object doGetTransaction() throws TransactionException; public final void commit(TransactionStatus status) throws TransactionException { } public final void rollback(TransactionStatus status) throws TransactionException { } } 3、实现类 DataSourceTransactionManager HibernateTransactionManager JdoTransactionManager ... 案例分析: public class PersonDao{ private PlatformTransactionManager platformTransactionManager; public void setPlatformTransactionManager(PlatformTransactionManager platformTransactionManager){ this.platformTransactionManager = PlatformTransactionManager; } }


spring的声明式事务处理

这时spring容器是一个切面。

注意:要使用spring的事务管理来管理程序中的事务,就要遵守spring的规范(有一个接口、一个抽象类、三个实现类(JDBC、hibernate、))。
在使用spring的事务管理时,不需要写切面类,spring已经实现了,不需要关心。程序员只要写crud操作就行和声明事务。


事务管理器:你使用的是哪种技术,JDBC、hibernate,不管你是使用哪种技术,spring帮你实现完全的面向接口编程