spring配置如下:
<context:annotation-config />
<!-- 配置注入信息的包 -->
<context:component-scan base-package="*" />
<!-- 声明事务名称 -->
<tx:annotation-driven transaction-manager="transactionManager" />

<bean id="dataSourceDefault" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off) 
(ADDRESS=(PROTOCOL=TCP)(HOST=172.168.1.231) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=bss)))"/>
<property name="username" value="demo1"/>
<property name="password" value="demo1"/> 
</bean>
<bean id="dataSource" class="com.common.db.DynamicDataSource">
<property name="targetDataSources">
<map key-type="java.lang.String">
<entry key="290" value-ref="dataSourceDefault" />
</map>
</property>
<property name="defaultTargetDataSource" ref="dataSourceDefault" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>serviceimpl
/**
 * 使用方法上声明的事务管理策略,这里的意思为需要在一个事务中运行
 */
@Override
@Transactional(rollbackFor=Exception.class)
public boolean addInfoOrder(Map<String, Object> param) {
         
         }事务一直没有一效,请帮忙看下那的顺题呀

解决方案 »

  1.   

    2楼正解  把你的serviceimpl类交给spring管理   不过给人感觉事务还是通过XML配置比较好
      

  2.   

    @Service("infoOrderService")
    public class InfoOrderServiceImpl extends BaseDaoImpl implements InfoOrderService {        @Override
    @Transactional
    public boolean addInfoOrder(Map<String, Object> param) {}
    }
    我已经加过@service了呀,还是不生效,请问还有什么要注意的地方吗?
      

  3.   

    @Transactional(rollbackFor=Exception.class)  
    @Override
    public boolean addInfoOrder(Map<String, Object> param) {
               saveorder();//1
               saveLogorder();//2 添加出错的时候,1也回滚,目前是1一直没有回滚
            }
      

  4.   

    我的不回滚的原因是在方法1 2里加了try catch语句,造成在方法中不抛出异常不能回滚。谢谢楼上两位的回答。