分布式轻量级框架 设计&实现 3 - 定义基础包

这部分的代码在

https://github.com/terrymanu/miracle-framework/tree/master/miracle-framework-common

创建一个framework-common子项目。分成framework-lang和framework-util两个子模块。

定义一些基础类和工具类。

lang模块

lang包

定义抽象类BaseObject,实现equals,hashcode和toString方法,通过反射读取属性。并且提供一个构造器,可以传入需要忽略的属性名。

定义一个常量类,把一些常用的东西放进去。目前只想到了System.getProperty("line.separator"),以后有再加吧。

exception包

定义全局的异常。异常分3种

SystemException 系统异常,直接继承RuntimeException。用于封装数据库连不上,网络出问题等状况。出现这种异常需要写入Error日志,并通知Nagios监控软件,向相关运维人员发短信或邮件报警。这种异常程序无法处理,一般需要手工干预,如重启机器等。

LogicException 逻辑异常,继承Exception。用于封装如校验失败,余额不足之类的异常。不能直接显示异常信息给用户,而是需要catch住,进行处理。

UserException 属于用户输入所导致的异常。不需要catch,可以直接返回给前台显示,但是需要考虑多语言,可以将异常的key映射到多语言资源文件。

util模块

reflection包

封装一些常用的反射调用,如得到所有的静态属性,等。如果有好的第三方包,可以直接替代,待调研。

collection包

提供一些快捷的collection转换。如将string集合直接转换成class集合。直接使用guava的内部类转换方式感觉不是非常直观,所以常用的可以再此封装一层。

encoding包

提供字符集转码的工具类。








你可能感兴趣的:(java,框架,javaee,设计)