日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring中事务配置的3种方式

發布時間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring中事务配置的3种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?http://xuxiaolei.iteye.com/blog/417803

(1)通過TransactionProxyFactoryBean來聲明

Xml代碼 ?
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <beans?xmlns="http://www.springframework.org/schema/beans"??
  • ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  • ????xmlns:aop="http://www.springframework.org/schema/aop"??
  • ????xmlns:tx="http://www.springframework.org/schema/tx"??
  • ????xsi:schemaLocation="http://www.springframework.org/schema/beans ??
  • ????http://www.springframework.org/schema/beans/spring-beans-2.0.xsd ??
  • ????http://www.springframework.org/schema/aop ??
  • ????http://www.springframework.org/schema/aop/spring-aop-2.0.xsd ??
  • ????http://www.springframework.org/schema/tx ??
  • ????http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">??
  • ??
  • ????<bean?id="dataSource"??
  • ????????class="org.springframework.jdbc.datasource.DriverManagerDataSource">??
  • ????????<property?name="driverClassName"?value="org.hsqldb.jdbcDriver"?/>??
  • ????????<property?name="url"?value="jdbc:hsqldb:hsql://localhost"?/>??
  • ????????<property?name="username"?value="sa"?/>??
  • ????????<property?name="password"?value=""?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="sessionFactory"??
  • ????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????????<property?name="mappingResources">??
  • ????????????<list>??
  • ????????????????<value>domain/Contestant.hbm.xml</value>??
  • ????????????????<value>domain/Event.hbm.xml</value>??
  • ????????????????<value>domain/Location.hbm.xml</value>??
  • ????????????????<value>domain/User.hbm.xml</value>??
  • ????????????????<value>domain/Voter.hbm.xml</value>??
  • ????????????</list>??
  • ????????</property>??
  • ????????<property?name="hibernateProperties">??
  • ????????????<props>??
  • ????????????????<prop?key="hibernate.dialect">??
  • ????????????????????org.hibernate.dialect.HSQLDialect ??
  • ????????????????</prop>??
  • ????????????????<prop?key="hibernate.show_sql">true</prop>??
  • ????????????</props>??
  • ????????</property>??
  • ????</bean>??
  • ??
  • ????<bean?id="transactionManager"??
  • ????????class="org.springframework.orm.hibernate3.HibernateTransactionManager">??
  • ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="parentService"??
  • ????????class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"??
  • ????????abstract="true">??
  • ????????<property?name="transactionManager"?ref="transactionManager"?/>??
  • ????????<property?name="transactionAttributes">??
  • ????????????<props>??
  • ????????????????<prop?key="add*">PROPAGATION_REQUIRED</prop>??
  • ????????????????<prop?key="update*">PROPAGATION_REQUIRED</prop>??
  • ????????????????<prop?key="persist*">PROPAGATION_REQUIRED</prop>??
  • ????????????????<prop?key="delete*">PROPAGATION_REQUIRED</prop>??
  • ????????????????<prop?key="*">PROPAGATION_SUPPORTS,readOnly</prop>??
  • ????????????</props>??
  • ????????</property>??
  • ????</bean>??
  • ??
  • ????<bean?id="userDao"?class="dao.UserDaoImpl">??
  • ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="userServiceTarget"?class="service.UserServiceImpl">??
  • ????????<property?name="userDao"?ref="userDao"?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="userService"?parent="parentService">??
  • ????????<property?name="target"?ref="userServiceTarget"?/>??
  • ????????<property?name="proxyInterfaces"?value="service.UserService"?/>??
  • ????</bean>??
  • ??
  • </beans>??
  • <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.0.xsd"><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="org.hsqldb.jdbcDriver" /><property name="url" value="jdbc:hsqldb:hsql://localhost" /><property name="username" value="sa" /><property name="password" value="" /></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="mappingResources"><list><value>domain/Contestant.hbm.xml</value><value>domain/Event.hbm.xml</value><value>domain/Location.hbm.xml</value><value>domain/User.hbm.xml</value><value>domain/Voter.hbm.xml</value></list></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop><prop key="hibernate.show_sql">true</prop></props></property></bean><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><bean id="parentService"class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"abstract="true"><property name="transactionManager" ref="transactionManager" /><property name="transactionAttributes"><props><prop key="add*">PROPAGATION_REQUIRED</prop><prop key="update*">PROPAGATION_REQUIRED</prop><prop key="persist*">PROPAGATION_REQUIRED</prop><prop key="delete*">PROPAGATION_REQUIRED</prop><prop key="*">PROPAGATION_SUPPORTS,readOnly</prop></props></property></bean><bean id="userDao" class="dao.UserDaoImpl"><property name="sessionFactory" ref="sessionFactory" /></bean><bean id="userServiceTarget" class="service.UserServiceImpl"><property name="userDao" ref="userDao" /></bean><bean id="userService" parent="parentService"><property name="target" ref="userServiceTarget" /><property name="proxyInterfaces" value="service.UserService" /></bean></beans>

    ?(2)通過aop:config

    Xml代碼 ?
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <beans?xmlns="http://www.springframework.org/schema/beans"??
  • ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  • ????xmlns:aop="http://www.springframework.org/schema/aop"??
  • ????xmlns:tx="http://www.springframework.org/schema/tx"??
  • ????xsi:schemaLocation="http://www.springframework.org/schema/beans ??
  • ????http://www.springframework.org/schema/beans/spring-beans-2.0.xsd ??
  • ????http://www.springframework.org/schema/aop ??
  • ????http://www.springframework.org/schema/aop/spring-aop-2.0.xsd ??
  • ????http://www.springframework.org/schema/tx ??
  • ????http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">??
  • ??
  • ????<bean?id="dataSource"??
  • ????????class="org.springframework.jdbc.datasource.DriverManagerDataSource">??
  • ????????<property?name="driverClassName"?value="org.hsqldb.jdbcDriver"?/>??
  • ????????<property?name="url"?value="jdbc:hsqldb:hsql://localhost"?/>??
  • ????????<property?name="username"?value="sa"?/>??
  • ????????<property?name="password"?value=""?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="sessionFactory"??
  • ????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????????<property?name="mappingResources">??
  • ????????????<list>??
  • ????????????????<value>domain/Contestant.hbm.xml</value>??
  • ????????????????<value>domain/Event.hbm.xml</value>??
  • ????????????????<value>domain/Location.hbm.xml</value>??
  • ????????????????<value>domain/User.hbm.xml</value>??
  • ????????????????<value>domain/Voter.hbm.xml</value>??
  • ????????????</list>??
  • ????????</property>??
  • ????????<property?name="hibernateProperties">??
  • ????????????<props>??
  • ????????????????<prop?key="hibernate.dialect">??
  • ????????????????????org.hibernate.dialect.HSQLDialect ??
  • ????????????????</prop>??
  • ????????????????<prop?key="hibernate.show_sql">true</prop>??
  • ????????????</props>??
  • ????????</property>??
  • ????</bean>??
  • ??
  • ????<bean?id="transactionManager"??
  • ????????class="org.springframework.orm.hibernate3.HibernateTransactionManager">??
  • ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
  • ????</bean>??
  • ???? ??
  • ????<tx:advice?id="txAdvice">??
  • ????????<tx:attributes>??
  • ????????????<tx:method?name="add*"?propagation="REQUIRED"?/>??
  • ????????????<tx:method?name="update*"?propagation="REQUIRED"?/>??
  • ????????????<tx:method?name="delete*"?propagation="REQUIRED"?/>??
  • ????????????<tx:method?name="persist*"?propagation="REQUIRED"?/>??
  • ????????????<tx:method?name="*"?propagation="SUPPORTS"?read-only="true"/>??
  • ????????</tx:attributes>??
  • ????</tx:advice>??
  • ???? ??
  • ????<aop:config>??
  • ????????<aop:advisor?pointcut="execution(*?*..UserService.*(..))"?advice-ref="txAdvice"?/>??
  • ????</aop:config>??
  • ??
  • ????<bean?id="userDao"?class="dao.UserDaoImpl">??
  • ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="userService"?class="service.UserServiceImpl">??
  • ????????<property?name="userDao"?ref="userDao"?/>??
  • ????</bean>??
  • </beans>??
  • <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.0.xsd"><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="org.hsqldb.jdbcDriver" /><property name="url" value="jdbc:hsqldb:hsql://localhost" /><property name="username" value="sa" /><property name="password" value="" /></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="mappingResources"><list><value>domain/Contestant.hbm.xml</value><value>domain/Event.hbm.xml</value><value>domain/Location.hbm.xml</value><value>domain/User.hbm.xml</value><value>domain/Voter.hbm.xml</value></list></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop><prop key="hibernate.show_sql">true</prop></props></property></bean><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><tx:advice id="txAdvice"><tx:attributes><tx:method name="add*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="persist*" propagation="REQUIRED" /><tx:method name="*" propagation="SUPPORTS" read-only="true"/></tx:attributes></tx:advice><aop:config><aop:advisor pointcut="execution(* *..UserService.*(..))" advice-ref="txAdvice" /></aop:config><bean id="userDao" class="dao.UserDaoImpl"><property name="sessionFactory" ref="sessionFactory" /></bean><bean id="userService" class="service.UserServiceImpl"><property name="userDao" ref="userDao" /></bean> </beans>

    ?(3)通過注解

    Xml代碼 ?
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <beans?xmlns="http://www.springframework.org/schema/beans"??
  • ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  • ????xmlns:aop="http://www.springframework.org/schema/aop"??
  • ????xmlns:tx="http://www.springframework.org/schema/tx"??
  • ????xsi:schemaLocation="http://www.springframework.org/schema/beans ??
  • ????http://www.springframework.org/schema/beans/spring-beans-2.0.xsd ??
  • ????http://www.springframework.org/schema/aop ??
  • ????http://www.springframework.org/schema/aop/spring-aop-2.0.xsd ??
  • ????http://www.springframework.org/schema/tx ??
  • ????http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">??
  • ??
  • ????<bean?id="dataSource"??
  • ????????class="org.springframework.jdbc.datasource.DriverManagerDataSource">??
  • ????????<property?name="driverClassName"?value="org.hsqldb.jdbcDriver"?/>??
  • ????????<property?name="url"?value="jdbc:hsqldb:hsql://localhost"?/>??
  • ????????<property?name="username"?value="sa"?/>??
  • ????????<property?name="password"?value=""?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="sessionFactory"??
  • ????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????????<property?name="mappingResources">??
  • ????????????<list>??
  • ????????????????<value>domain/Contestant.hbm.xml</value>??
  • ????????????????<value>domain/Event.hbm.xml</value>??
  • ????????????????<value>domain/Location.hbm.xml</value>??
  • ????????????????<value>domain/User.hbm.xml</value>??
  • ????????????????<value>domain/Voter.hbm.xml</value>??
  • ????????????</list>??
  • ????????</property>??
  • ????????<property?name="hibernateProperties">??
  • ????????????<props>??
  • ????????????????<prop?key="hibernate.dialect">??
  • ????????????????????org.hibernate.dialect.HSQLDialect ??
  • ????????????????</prop>??
  • ????????????????<prop?key="hibernate.show_sql">true</prop>??
  • ????????????????<prop?key="hibernate.jdbc.batch_size">0</prop>??
  • ????????????</props>??
  • ????????</property>??
  • ????</bean>??
  • ??
  • ????<bean?id="transactionManager"??
  • ????????class="org.springframework.orm.hibernate3.HibernateTransactionManager">??
  • ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
  • ????</bean>??
  • ???? ??
  • ????<tx:annotation-driven?/>??
  • ???? ??
  • ????<bean?id="userDao"?class="dao.UserDaoImpl">??
  • ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="userService"?class="service.UserServiceImpl">??
  • ????????<property?name="userDao"?ref="userDao"?/>??
  • ????</bean>??
  • </beans>??
  • <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.0.xsd"><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="org.hsqldb.jdbcDriver" /><property name="url" value="jdbc:hsqldb:hsql://localhost" /><property name="username" value="sa" /><property name="password" value="" /></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="mappingResources"><list><value>domain/Contestant.hbm.xml</value><value>domain/Event.hbm.xml</value><value>domain/Location.hbm.xml</value><value>domain/User.hbm.xml</value><value>domain/Voter.hbm.xml</value></list></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.jdbc.batch_size">0</prop></props></property></bean><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><tx:annotation-driven /><bean id="userDao" class="dao.UserDaoImpl"><property name="sessionFactory" ref="sessionFactory" /></bean><bean id="userService" class="service.UserServiceImpl"><property name="userDao" ref="userDao" /></bean> </beans>

    ?

    Java代碼 ?
  • package?service; ??
  • ??
  • import?java.util.List; ??
  • ??
  • import?org.springframework.transaction.annotation.Propagation; ??
  • import?org.springframework.transaction.annotation.Transactional; ??
  • ??
  • import?dao.UserDao; ??
  • import?domain.User; ??
  • ??
  • public?class?UserServiceImpl?implements?UserService?{ ??
  • ???? ??
  • ????private?UserDao?userDao; ??
  • ??
  • ????public?void?setUserDao(UserDao?userDao)?{ ??
  • ????????this.userDao?=?userDao; ??
  • ????} ??
  • ??
  • ????@Transactional(propagation=Propagation.REQUIRED,?readOnly=true) ??
  • ????public?User?findById(Long?id)?{ ??
  • ????????return?userDao.findById(id); ??
  • ????} ??
  • ???? ??
  • ????@Transactional(propagation=Propagation.REQUIRED,?readOnly=true) ??
  • ????public?User?findByEmail(String?email)?{ ??
  • ????????return?userDao.findByEmail(email); ??
  • ????} ??
  • ??
  • ????@Transactional(propagation=Propagation.REQUIRED,?readOnly=false) ??
  • ????public?void?persist(User?user)?{ ??
  • ????????userDao.persist(user); ??
  • ????} ??
  • ??
  • ????@Transactional(propagation=Propagation.REQUIRED,?readOnly=true) ??
  • ????public?List<User>?list()?{ ??
  • ????????return?userDao.list(); ??
  • ????} ??
  • }??
  • ?

    總結

    以上是生活随笔為你收集整理的spring中事务配置的3种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。