Spring优势学习

Spring优势学习

1.       

不使用spring:

耦合度比较高

Controller->Service->DAO

Eg:

在service调用dao层需要:

Private Dao dao = new Dao();

使用spring只需要简单注解

@Resource private Dao dao;

2.       

事务管理(使用spring 不需要进行事务管理,如事物的begin和commit,也不用处理复杂的事物传播行为)

例如:转账模拟

Public void pay(){

Bean1.update();

Bean2.save();

}

 

public classBean1 {

public void update(){

           Connection conn = null;

           conn.setAutoCommit(false);

           .

           .

           .

}

}

public classBean1 {

public void save(){

           Connection conn = null;

           conn.setAutoCommit(false);

           .

           .

           .

}

}

 

如果不修改代码,现在是不能实现这样的需求的,因为它们各自拥有自己的connection;

在这种情况下,需要把connection作为参数传递给两个方法,然后在外部建立connection;

如果使用spring,我们就无需人为处理这些行为:(使用注解)

@Transactional(propagation=Propagation.REQUIRED)

Public void pay(){

Bean1.update();

Bean2.save();

}

 

public classBean1 {

@Transactional(propagation=Propagation.REQUIRED)

public void update(){

           .

           .

           .

}

}

public classBean2 {

@Transactional(propagation=Propagation.REQUIRED)

public void save(){

           .

           .

           .

}

}

这样简单就可使其处于一个事物中。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值