@Transactional管理事務

使用基於@Transactional的Spring配置java

<beans:bean id="transactionManager"  class="org.springframework.orm.jpa.JpaTransactionManager">  
    <beans:property name="dataSource" ref="dataSource" />  
    <beans:property name="entityManagerFactory" ref="entityManagerFactory" />  
</beans:bean>  
  
<!-- 聲明使用註解式事務 -->  
<tx:annotation-driven transaction-manager="transactionManager" />

直接在須要事務的類或者方法上使用@Transactional就能夠標記該類或者該方法使用事務管理數據庫操做spring

注意加載順序,spring-mybatis和spring-mvc加載的順序,在配置文件中的順序以下數據庫

spring-mvc.xml文件,不加載controller文件
<!-- 自動掃描組件,這裏要把controler下面的 controller去除,他們是在spring3-servlet.xml中配置的,若是不去除會影響事務管理的。   -->  
 <context:component-scan base-package="com.sence">  
      <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />   
 </context:component-scan>  
 
spring-mybatis.xml文件,不加載service
<!-- 掃描全部的controller 可是不掃描service-->  
<context:component-scan base-package="com.sence">  
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />  
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />  
</context:component-scan>
相關文章
相關標籤/搜索