自己搭建的基于ssh框架的平台基本不配置 事务属性,想请问大虾们,配置事务属性对于
各种小,中,大平台有什么印象呀!

解决方案 »

  1.   

    事务是必须配置的,不管你是多么小得ssh平台,只要你有需要确保一件事情要么全部完成,要不全部不错的需求就必须得配置。
    建议你先搞清楚什么是事务!
      

  2.   

    另外你用ssh,你的spring都干什么了?没有管理事务?
      

  3.   

    <?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:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
    </property>
    <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:sky">
    </property>
    <property name="username" value="shop"></property>
    <property name="password" value="shop"></property>
    </bean>
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.Oracle9Dialect
    </prop>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>domain/Users.hbm.xml</value>
    <value>domain/Dishes.hbm.xml</value>
    <value>domain/Orders.hbm.xml</value>
    <value>domain/Detail.hbm.xml</value>
    </list>
    </property>
    </bean>
    <bean id="txManager"

    <bean id="UsersDAO" class="daoimpl.UsersDAOimpl">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>
    <bean id="DishesDAO" class="daoimpl.DishesDAOimpl">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>
    <bean id="OrdersDAO" class="daoimpl.OrdersDAOimpl">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>
    <bean id="DetailDAO" class="daoimpl.DetailDAOimpl">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean> <bean id="serviceregiest" class="serviceimpl.Regiestserviceimpl">
    <property name="usersDAO">
    <ref bean="UsersDAO" />
    </property>
    </bean> <bean id="actionregiest" class="action.regiest">
    <property name="regiestserviceimpl">
    <ref bean="serviceregiest" />
    </property>
    </bean></beans>这是偶的 spring配置  想请楼上的指点
      

  4.   

    <bean id="txManager" 这段配置是多余的   
      

  5.   

    可以在spring里添加以下代码进行事物控制
    <bean id="myHibTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    <tx:advice id="txAdvice" transaction-manager="myHibTransactionManager">
    <tx:attributes>
    <tx:method name="do*" propagation="REQUIRED"/> </tx:attributes>
    </tx:advice>

    <aop:config>
    <aop:advisor advice-ref="txAdvice"  pointcut="execution(* com.common.base.*.*(..))"/>
    </aop:config>
    其中
    <tx:method>与<aop:advisor>结合,表示 com.common.base包里面所有类的以do开头方法会进行事物控制