这部分的代码在 ios
https://github.com/terrymanu/miracle-framework/tree/master/miracle-framework-commongit
建立一个framework-common子项目。分红framework-lang和framework-util两个子模块。github
定义一些基础类和工具类。数据库
lang模块网络
lang包 运维
定义抽象类BaseObject,实现equals,hashcode和toString方法,经过反射读取属性。而且提供一个构造器,能够传入须要忽略的属性名。工具
定义一个常量类,把一些经常使用的东西放进去。目前只想到了System.getProperty("line.separator"),之后有再加吧。spa
exception包 日志
定义全局的异常。异常分3种code
SystemException 系统异常,直接继承RuntimeException。用于封装数据库连不上,网络出问题等情况。出现这种异常须要写入Error日志,并通知Nagios监控软件,向相关运维人员发短信或邮件报警。这种异常程序没法处理,通常须要手工干预,如重启机器等。
LogicException 逻辑异常,继承Exception。用于封装如校验失败,余额不足之类的异常。不能直接显示异常信息给用户,而是须要catch住,进行处理。
UserException 属于用户输入所致使的异常。不须要catch,能够直接返回给前台显示,可是须要考虑多语言,能够将异常的key映射到多语言资源文件。
util模块
reflection包
封装一些经常使用的反射调用,如获得全部的静态属性,等。若是有好的第三方包,能够直接替代,待调研。
collection包
提供一些快捷的collection转换。如将string集合直接转换成class集合。直接使用guava的内部类转换方式感受不是很是直观,因此经常使用的能够再此封装一层。
encoding包
提供字符集转码的工具类。