首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

spring 事宜讲解

2012-10-13 
spring 事务讲解Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关

spring 事务讲解
Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。
我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需要进行事务定义,也就是配置事务的属性。
Spring在TransactionDefinition接口中定义这些属性,以供 PlatfromTransactionManager使用, PlatfromTransactionManager是spring事务管理的核心接口。
Java代码  收藏代码

  

</bean>

  2.配置事务参数(配置通知)
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
  <tx:method name="*" />
  <tx:method name="find*" read-only="true"/> 
</tx:attributes>
</tx:advice>

  3. AOP的配置:
<aop:config>
<!-- 通知者 -->
<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.qiujy.service.*.*(..))"/>
</aop:config>

  4.基于注解的事务管理配置:
    1) 配置事务管理器。
    2) 启用Spring对事务注解的支持:<tx:annotation-driven transaction-manager="transactionManager"/>

        如果transaction-manager属性引用的事务管理器标识符为transactionManager,则可省略这个属性。即可写成<tx:annotation-driven />
    3) 使用@Transactional对相应的类或方法添加事务配置:事务参数的配置参看Spring reference。

         @Transactional也可以添加在接口上,但不建议这么做。因为接口上的注解是不能被子接口继承的,容易引起误解。



四、Spring整合hibernate:
  1. 添加hibernate所需要的包:
  2. 在classpath上添加Hibernate的配置文件。
  3. 在Spring配置文件中添加sessionFactory的配置:
<bean id="sessionFactory" value="classpath:hibernate.cfg.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
如果hibernate 使用了注解来做对象关系映射,则要使用这个类:
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean

  4.为了解耦。我们给Hibernate的DAO类注入的是HibernateSessionFactory。
    如果不考虑侵入性,可以使用Spring提供的HibernateTemplate类,和HibernateDaoSupport类。
  5.hibernate的编码跟以前没有区别,事务的管理也是通过Spring的事务管理机制来管理。

热点排行