首页 > 其他 > 详细

spring中注解事务认识

时间:2014-01-20 08:41:54      阅读:427      评论:0      收藏:0      [点我收藏+]

1.配置事务管理器

bubuko.com,布布扣
<!-- 设定transactionManager事务管理器 -->
    <bean id="txManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!-- 启动spring注解功能,需要cglib-nodep-x.x_x.jar支持 -->
    <tx:annotation-driven transaction-manager="txManager" />
bubuko.com,布布扣

2.Service层实现类

bubuko.com,布布扣
@Service("partsMgrService")
@Transactional
public class PartsMgrServiceImpl implements PartsMgrService {
    Logger log = Logger.getLogger(PartsMgrServiceImpl.class);
    
    @Autowired
    PartsTypeDAO partsTypeDao;
    @Autowired
    PartsBrandDAO partsBrandDao;
                   //省略代码
@Override
 public boolean addPartsType(PartsTypeDTO dto) throws Exception{
  //赋予值
  Map map = new HashMap();
  map.put("typeName", dto.getTypeName());
  map.put("fParentId", dto.getPid());
  map.put("typeCode", dto.getTypeCode());
  map.put("describe", dto.getDescribe());
  map.put("flag", dto.getFlag());
  map.put("sortNum", dto.getSortNum());
  map.put("typeFlag", dto.getTypeFlag());
  //测试事务
//  Map map2 = new HashMap();
//  map2.put("fPartstypeId", 16);
//  map2.put("brandName", "aaa334");
//  map2.put("brandCode", "bbb234");
//  map2.put("describe", "ccc");
//  map2.put("brandLoge", "ddd");
//  log.info("添加品牌参数: " + map2);
//  
//  partsBrandDao.addPartsBrand(map2);
  
  partsTypeDao.addPartsType(map);
  
  
  return true;
 }

}
bubuko.com,布布扣

@Transactional注解标签~!!

3.Dao层实现类

public interface PartsTypeDAO {
     //需要抛出异常DataAccessException
    public boolean addPartsType(Map<String, Object> map) throws DataAccessException;

}

如果在Dao层实现类中try{}catch(Exception e){}已经处理异常,那么事务是没有效果的~!
事务是在Service业务逻辑层处理的,只针对Dao层,所以Action层不能够直接去调Dao代码的原因呢,这也是代码分层体系编写的原因。

spring中注解事务认识

原文:http://www.cnblogs.com/simpledev/p/3525961.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!