W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
YMP是一個非常簡單、易用的一套輕量級JAVA應(yīng)用開發(fā)框架,設(shè)計原則主要側(cè)重于簡化工作任務(wù)、規(guī)范開發(fā)流程、提高開發(fā)效率,讓開發(fā)工作像搭積木一樣輕松是我們一直不懈努力的目標!
采用組件化、模塊化打包方式,可按需裝配,靈活可擴展;
采用微內(nèi)核實現(xiàn)Autoscan、AOP、IoC、Event等,涵蓋SSH框架中絕大部分核心功能;
統(tǒng)一配置體系結(jié)構(gòu),感受不一樣的文件資源配置及管理模式;
整合多種日志系統(tǒng)(log4j、jcl、slf4j)、日志文件可分離存儲;
輕量級持久化層封裝,針對RDBMS(MySQL、SQLServer、Oracle等)和NoSQL(MongoDB、Redis等)提供支持;
完善的插件機制,助力于更細顆粒度的業(yè)務(wù)拆分;
獨特的獨立服務(wù)開發(fā)體驗;
功能強大的驗證框架,完全基于Java注解,易于使用和擴展;
靈活的緩存服務(wù),支持EhCache、Redis和多級緩存(MultiLevel)技術(shù);
配置簡單的MVC架構(gòu),強大且易于維護和擴展,支持RESTful風(fēng)格,支持JSP、HTML、Binary、Freemarker、Velocity等多種視圖技術(shù);
YMP框架主要是由框架核心(Core)和若干模塊(Modules)組成,整體結(jié)構(gòu)非常簡約、清晰,如圖所示:
主要負責(zé)框架的初始化和模塊的加載及其生命周期管理,功能包括:
- 類對象管理器:提供包類的自動掃描以及Bean生命周期管理、依賴注入和方法攔截等特性;
- 事件服務(wù):通過事件注冊和廣播的方式觸發(fā)和監(jiān)聽事件動作,并支持同步和異步兩種模式執(zhí)行事件隊列;
- 模塊:是YMP框架所有功能特性封裝的基礎(chǔ)形式,負責(zé)模塊的生命周期管理;
- 國際化資源管理器:提供統(tǒng)一的資源文件加載、銷毀和內(nèi)容讀取,支持自定義資源加載和語言變化的事件監(jiān)聽;
- 另外,提供了一組自定義的數(shù)據(jù)結(jié)構(gòu)和框架中需要的各種工具類;
通過簡單的目錄結(jié)構(gòu)實現(xiàn)在項目開發(fā)以及維護過程中,對配置等各種文件資源的統(tǒng)一管理,為模塊化開發(fā)和部署提供靈活的、簡單有效的解決方案:
- 規(guī)范模塊化開發(fā)流程、統(tǒng)一資源文件管理;
- 具備有效的資源重用和靈活的系統(tǒng)集成構(gòu)建、部署和數(shù)據(jù)備份與遷移等優(yōu)勢;
- 簡單的配置文件檢索、加載及管理模式;
- 模塊間資源共享,模塊可以共用所屬項目的配置、類和jar包等資源文件;
- 默認支持XML和Properties配置文件解析,可以通過IConfigurationProvider接口自定義文件格式,支持緩存,避免重復(fù)加載;
- 配置對象支持注解方式聲明,無需編碼即可自動加載并填充配置內(nèi)容到類對象;
- 集成模塊的構(gòu)建與分發(fā)、服務(wù)的啟動與停止*,以及清晰的資源文件分類結(jié)構(gòu)可快速定位;
基于開源日志框架Log4J 2實現(xiàn),提供對日志記錄器對象的統(tǒng)一管理,可以在任意位置調(diào)用任意日志記錄器輸出日志,實現(xiàn)系統(tǒng)與業(yè)務(wù)日志的分離,并針對apache-commons-logging日志框架和slf4j日志系統(tǒng)提供支持;
針對關(guān)系型數(shù)據(jù)庫(RDBMS)數(shù)據(jù)存取的一套簡單解決方案,主要關(guān)注數(shù)據(jù)存取的效率、易用性和透明,其具備以下功能特征:
- 基于JDBC框架API進行輕量封裝,結(jié)構(gòu)簡單、便于開發(fā)、調(diào)試和維護;
- 優(yōu)化批量數(shù)據(jù)更新、標準化結(jié)果集、預(yù)編譯SQL語句處理;
- 支持單實體ORM操作,無需編寫SQL語句;
- 提供腳手架工具,快速生成數(shù)據(jù)實體類,支持鏈式調(diào)用;
- 支持通過存儲器注解自定義SQL語句或從配置文件中加載SQL并自動執(zhí)行;
- 支持結(jié)果集與值對象的自動裝配,支持自定義裝配規(guī)則;
- 支持多數(shù)據(jù)源,默認支持C3P0、DBCP、JNDI連接池配置,支持數(shù)據(jù)源擴展;
- 支持多種數(shù)據(jù)庫(如:Oracle、MySQL、SQLServer等);
- 支持面向?qū)ο蟮臄?shù)據(jù)庫查詢封裝,有助于減少或降低程序編譯期錯誤;
- 支持數(shù)據(jù)庫事務(wù)嵌套;
- 支持數(shù)據(jù)庫存儲過程*;
針對MongoDB的數(shù)據(jù)存取操作的特點,以JDBC模塊的設(shè)計思想進行簡單封裝,采用會話機制,支持多數(shù)據(jù)源配置和實體操作、基于對象查詢、MapReduce、GridFS、聚合及函數(shù)表達式集成等,仍需進一步完善改進,文檔整理中,敬請期待...
基于Jedis驅(qū)動封裝,采用會話機制,支持多數(shù)據(jù)源及連接池配置,仍需進一步完善改進,文檔整理中,敬請期待...
采用獨立的ClassLoader類加載器來管理私有JAR包、類、資源文件等,設(shè)計目標是在接口開發(fā)模式下,將需求進行更細顆粒度拆分,從而達到一個理想化可重用代碼的封裝形態(tài);
每個插件都是封閉的世界,插件與外界之間溝通的唯一方法是通過業(yè)務(wù)接口調(diào)用,管理這些插件的容器被稱之為插件工廠,負責(zé)插件的分析、加載和初始化,以及插件的生命周期管理,插件模塊支持創(chuàng)建多個插件工廠實例,工廠對象之間完全獨立,無任何依賴關(guān)系;
一套基于NIO實現(xiàn)的通訊服務(wù)框架,提供TCP、UDP協(xié)議的客戶端與服務(wù)端封裝,靈活的消息監(jiān)聽與消息內(nèi)容編/解碼,簡約的配置使二次開發(fā)更加便捷;
同時默認提供斷線重連、鏈路維護(心跳)等服務(wù)支持,您只需了解業(yè)務(wù)即可輕松完成開發(fā)工作。
服務(wù)端參數(shù)有效性驗證工具,采用注解聲明方式配置驗證規(guī)則,更簡單、更直觀、更友好,支持方法參數(shù)和類成員屬性驗證,支持驗證結(jié)果國際化I18N資源綁定,支持自定義驗證器,支持多種驗證模式;
以EhCache作為默認JVM進程內(nèi)緩存服務(wù),通過整合外部Redis服務(wù)實現(xiàn)多級緩存(MultiLevel)的輕量級緩存框架,并與YMP框架深度集成(支持針對類方法的緩存,可以根據(jù)方法參數(shù)值進行緩存),靈活的配置、易于使用和擴展;
WebMVC模塊在YMP框架中是除了JDBC模塊以外的另一個非常重要的模塊,集成了YMP框架的諸多特性,在功能結(jié)構(gòu)的設(shè)計和使用方法上依然保持一貫的簡單風(fēng)格,同時也繼承了主流MVC框架的基因,對于了解和熟悉SSH等框架技術(shù)的開發(fā)人員來說,上手極其容易,毫無學(xué)習(xí)成本。
其主要功能特性如下:
- 標準MVC實現(xiàn),結(jié)構(gòu)清晰,完全基于注解方式配置簡單;
- 支持約定模式,無需編寫控制器代碼,直接匹配并執(zhí)行視圖;
- 支持多種視圖技術(shù)(JSP、Freemarker、Velocity、Text、HTML、JSON、Binary、Forward、Redirect、HttpStatus等);
- 支持RESTful模式及URL風(fēng)格;
- 支持請求參數(shù)與控制器方法參數(shù)的自動綁定;
- 支持參數(shù)有效性驗證;
- 支持控制器方法的攔截;
- 支持注解配置控制器請求路由映射;
- 支持自動掃描控制器類并注冊;
- 支持事件和異常的自定義處理;
- 支持I18N資源國際化;
- 支持控制器方法和視圖緩存;
- 支持控制器參數(shù)轉(zhuǎn)義;
- 支持插件擴展;
YMP不僅提供便捷的Web及其它Java項目的快速開發(fā)體驗,也將不斷提供更多豐富的項目實踐經(jīng)驗。
感興趣的小伙伴兒們可以加入 官方QQ群480374360,一起交流學(xué)習(xí),幫助YMP成長!
了解更多有關(guān)YMP框架的內(nèi)容,請訪問官網(wǎng):http://www.ymate.net/
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: