這部分的代碼在 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包
提供字符集轉碼的工具類。