分層領域模型:Entity轉為BO
阿新 • • 發佈:2018-11-20
BO(Business Object):業務物件,由 Service 層輸出的封裝業務邏輯的物件。進行對外介面的編寫,往往需要返回BO(Entity中很多屬性欄位並不是需要的,BO只是選取需要的部分在Service進行返回),但是通過DAO層我們獲取到的往往是Entity的形式,因此往往需要進行Entity到BO的轉換,因此寫了一個工具介面,完成這種轉換:
public static<S extends Object,D extends Object> List<D> EntityList2BoList(List<S> source,Class <S> sClass,Class<D> dClass){
List<D> ds = new ArrayList<D>();
if(null == source){
return ds;
}
try {
for (S s : source) {
D d = dClass.newInstance();
BeanUtils.copyProperties(s, d);
ds.add(d);
}
}
catch (Exception e){
LOG.error("An error occurred while attempting to convert entity" +
"[" + sClass.getName() + "] to bo ["+ dClass.getName() +"], error infor :" + e.getMessage());
return new ArrayList<D>();
}
//LOG.info("Success to convert entity [" + sClass.getName() + "] to bo ["+ dClass.getName() +"]");
return ds;
}
DwUtil.EntityList2BoList(dwEmployeeEntities,AEntity.class,ABo.class);
其中BeanUtils的使用可以參考:
https://blog.csdn.net/Megustas_JJC/article/details/53525026