Spring学习笔记

1.使用spring,不需要处理复杂的事务传播行为。

比如:我的代码中就出现了一种情况。存入帖子(cardDao.save(card)),还得存入图片(picDao.save(pic)),原来的代码没有加事务。后来要加事务了,

只能改动代码,把Connection对像做为参数传入方法中,示例代码如下

//没加事务
voic save(){
    cardDao.save(card);
    picDao.save(pic);
}
//需要加事务
void save(){
    Connection conn;
    conn.setAutocommit(false);
    cardDao.save(card,conn);
    picDao.save(pic,conn);
    conn.commit();
    //省略
    
}

 如果使用了spring,则只需要加个注解就可以解决问题

@Transactional(propagation=Propagation.REQUIRED)
void save(){
    cardDao.save(card);
    picDao.save(pic);       
}

class CardDao{
   @Transactional(propagation=Propagation.REQUIRED)
    void save(Card card){}  
}

class PicDao{
    @Transactional(propagation=Propagation.REQUIRED)
    void save(Pic pic){}  
}
原文地址:https://www.cnblogs.com/baron89/p/3509065.html