Java编程风格积累

类名首字母大写。

 

更高层的实现应该捕获低层的异常,同时抛出可以按照高层抽象进行解释的异常。这种做法被称为异常转译。

 

import org.apache.commons.lang.StringUtils;
StringUtils.isNotBlank(query)
 
import org.apache.commons.collections.CollectionUtils
CollectionUtils.isNotEmpty(domainNameOld)
 
(String,Boolean,Integer)判断是否相同
private boolean isDifferentValue(Object newObj,Object oldObj){
        if(newObj==oldObj){
            return false;
        }else{
            if(newObj!=null){
                if(newObj.equals(oldObj)){
                    return false;
                }
                return true;
            }else{
                return true;
            }
        }
    }

 

DO里面要用大Boolean(Integer等包装类型)因为ibatis里面null有特殊意义。isempty,如果是小boolean,就会去更新字段。

CO里面用小boolean(int等基本类型),因为基本类型性能好。

 

action层,用于获取展示页面的数据。故事务不要加在这层。加到manage层。

operationDO.setGmtCreate(new Date()); 设置当前时间为gmtCreate。

 

循环list,在无法保证所有元素绝对不为null,必须判断元素是否为null(建议最好都做下验证,因为很有可能原先得到保证的,后来被某个开发改了实现,导致list中存在null元素)。

 

写ibatis时,如果条件是动态的时候,千万要注意,当条件为空,会出现什么状况(如查询整张表,甚至会删除更新整张表)。

 

因为CO/MODULE/EXCEPTION都要走序列化,所以都必须实现serialser接口。

 

给外部使用的service方法,需要显示throws异常,给自己使用,由于框架会捕获异常,就不强制要求抛异常了。

你可能感兴趣的:(Java编程风格积累)