救命!帮我解释下这段service代码?

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:31:22
我们使用的是struts1.1,总体上也是MVC,细节上分为JSP(视图显示)
action(查找指向,还有很多数据处理),service层和bo层(也就是当action需要什么数据时候到service里找,service调用相应的bo层把数据处理返回)

但是下面这段service经常用到的代码我看不明白:
public ResultSet getList(final String dwdm,final String beginDate,final String endDate)
{
TransactionTemplate tt = new TransactionTemplate();
return (ResultSet) tt.doWithoutTransaction(new BusinessExecutor() {
public Object doExecute() throws DataAccessException {
return new ColBuildCustodyBo().getList(dwdm,beginDate,endDate);
}
}
);
}

new BusinessExecutor() {
public Object doExecute() throws DataAccessException {
return new ColBuildCustodyBo().getList(dwdm,beginDate,endDate);
}
}

估计是这段代码你看不懂。
其实这里定义了一个匿名类,并创建了个这个匿名类的一个对象,作为方法doWithoutTransaction的参数。

拆开来看,就类似于下面这样:

class AnonyClass implements BusinessExecutor{
public Object doExecute() throws DataAccessException {
return new ColBuildCustodyBo().getList(dwdm,beginDate,endDate);
}
}

return (ResultSet) tt.doWithoutTransaction(new AnonyClass());