天天看點

YMP v2.0.1 釋出,輕量級 Java 應用開發架構

本次版本更新主要針對ymp架構的易用、穩定、安全性等方面的性能優化及bug修複。

更多相關子產品工程也會陸續更新,更多子產品請參看:ymp v2.0 子產品項目集中釋出!第一波!

新版本已送出至maven中央庫,可以通過以下配置擷取各子產品依賴:

請将替換為具體子產品名,子產品詳見: the central repository search engine

更新記錄:

核心 (core)

優化類掃描邏輯被聲明@ignored注解的類将被自動掃描程式忽略;

優化beanwrapper為其新增類屬性過濾器接口及相關方法;

優化擷取類方法參數名稱集合的邏輯及相關代碼,若找不到或missing時不會抛出異常而是傳回元素數量為0的空數組;

增加攔截器全局規則設定,調整攔截器可以不用修改代碼;

為blurobject對象添加對clob和blob資料類型的支援;

fastjson存在高危安全漏洞,已更新更新至1.2.28;

調整events事件觸發模式由事件監聽者在訂閱事件時決定;

重新調整代理類的執行順序order參數值并改成注釋為數值小的最先執行;

優化base64方法調用;

配置體系 (configuration)

修正嘗試通過運作時變量或系統變量擷取config_home參數的處理邏輯;

持久化 (jdbc)

優化資料庫連接配接失敗會導緻服務啟動不成功的問題增加嘗試重新初始化邏輯;

實體代碼生成器新增允許在指定字段上配置是否使用@readonly注解聲明;

優化baseentity實體基類增添find、findfirst和findall方法重載;

資料實體生成器新增實體及屬性命名過濾器接口, 允許為那些老舊資料庫(命名不規範或有中文字段名等情況)自定義實體和字段名稱;

優化使其基礎資料實體類内部對象在進行json序列化時将不被輸出;

優化實體基類的delete方法傳回值邏輯;

修正資料實體結果集處理器由于oracle資料查詢時傳回的字段名是大寫字元導緻實體對象無法正确指派的問題;

優化jdbc操作器的異常日志輸出以減少重複;

為sql類對象增加直接轉換的tosql方法,同時優化field方法降低字段字首操作頻次;

修正resultset資源未關閉并移除無用的局部變量;

修正類構造方法中未對參數進行指派;

web架構 (webmvc)

優化請求編碼處理邏輯;

優化json視圖對象可以設定屬性使用引号的開關方法;

優化當加載本地語言參數值無效或解析錯誤時可能會導緻異常的情況;

調整将cookie資料加解密傳回的位元組數組強制轉為base64編碼;

優化jsonview對象支援設定是否保留白值屬性;

防止webmvc未成功初始化時導緻的事件源對象為空的異常情況發生;

優化webmvc請求處理過程的日志輸出;

優化控制器請求解析器更完美支援restful風格,可以通過參數request_mapping_parser_class=restful開啟配置;

優化cookiehelper的使用并調整其對value的加解密邏輯以及統一base64方法的調用;

驗證 (validation)

調整郵件位址驗證器正規表達式使其支援字尾長度超過3位的域名;

緩存 (cache)

初步實作緩存鎖相關邏輯;

日志 (log)

優化架構銷毀時的日志輸出可能産生空指針異常的情況;

日志相關子產品代碼邏輯優化使其更好的将commons-logging和slf4j等日志系統與log4j進行融合;

one more thing

ymp是一個非常簡單、易用的輕量級java應用開發架構,涵蓋aop、ioc、webmvc、orm、validation、plugin、serv、cache等特性,讓開發工作像搭積木一樣輕松是我們一直不懈努力的目标!

ymp不僅提供便捷的web及其它java項目的快速開發體驗,也将不斷提供更多豐富的項目實踐經驗。