生成getset代码工具类

来源:互联网 发布:c语言的省略号怎么打 编辑:程序博客网 时间:2024/06/05 16:33
今天撸码需要映射几个类,本想用 
BeanUtils.copyProperties  一行搞定  
看了下源码:
底层也是通过遍历类属性 判断属性名称相同 然后把值灌进去
查阅了其他几个 复制类属性的工具类 诸如:  PropertyUtils.copyProperties、orika、Dozer
不是会带来性能损耗就是 需要配置  
。。。。。还是xxx.set(xx.get)简单明了   但又懒的写一堆get set  封装一个根据类 生成get set代码工具类  记录一下 
public static void getSetForModel(Object copyModel,Object forcopymodel) throws Exception{        for (Field field : copyModel.getClass().getDeclaredFields()) {            field.setAccessible(true);            for (Field fieldcopy : forcopymodel.getClass().getDeclaredFields()) {                if(StringUtils.pathEquals(field.getName(),fieldcopy.getName())){                    System.out.println(getToUpperCase(copyModel.getClass().getSimpleName(),"LowerCase")                            +".set"+getToUpperCase(field.getName(),"UpperCase") + "(" +getToUpperCase(forcopymodel.getClass().getSimpleName(),"LowerCase")+                            ".get"+getToUpperCase(fieldcopy.getName(),"UpperCase")+"())");                }            }        }    }    public  static  String getToUpperCase(String name,String type){        if(type.equals("UpperCase")){            return name.substring(0, 1).toUpperCase() + name.substring(1);        }else  if (type.equals("LowerCase")){            return name.substring(0, 1).toLowerCase() + name.substring(1);        }        return  name;    }
比较简陋 很多异常情况没考虑  暂时能用  有空完善 


 
原创粉丝点击