学习笔记_Spring的资源与业务代码分离方式

6 篇文章 0 订阅
2 篇文章 0 订阅

 

nicolas  111008

 

一、介绍

Spring通过参数化资源和模板方法将资源与业务代码分离,利用这种方式可以对资源进行统一管理。

 

二、主要操作

1)抽取业务代码共性,业务代码直接使用资源。

2)通用代码维护资源,调用业务共性方法。

3)编写具体业务代码负责资源操作相关的各种具体业务,封装后,调用者可摆脱资源维护代码。

 

三、示例

 

代码剪切自Spring

 

 

1. 建立资源操作接口

 

抽取业务共性

 

 

public interface ClientCallback {
 
    Object doInClient(Executor executor) throws SQLException;
 
}
   

2. 封装资源获取和释放

 

维护资源,只和共性业务有关。

 

    public Object execute(ClientCallback action) throws DataAccessException {
 
       Executor session = this.sqlMapClient.openSession();
 
       try {
           return action.doInClient(session);
       }
       catch (SQLException ex) {
           throw ExceptionTranslator().translate("Operation", ex);
       }
 
       if (session != null) {
           session.close();
       }
    }

 

 

3. 具体业务代码

 

通过参数化资源,不再承担资源的维护责任。进一步封装后,调用者完全和资源无关。

 

    public Object queryForObject(String statementName, Object parameterObject)
           throws DataAccessException {
 
       return execute(new ClientCallback() {
           public Object doInClient(Executor executor) throws SQLException {
              return executor.queryForObject(statementName, parameterObject);
           }
       });
    }
  

 

此处的真正具体业务代码为executor.queryForObject

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值