聲明:該框架面向企業(yè),是大型互聯(lián)網(wǎng)分布式企業(yè)架構,后期會(huì )介紹linux上部署高可用集群項目。
有愿意了解框架技術(shù)或者源碼的朋友直接加Q(2137028325)一起學(xué)習
項目基礎功能截圖(自提供了最小部分)








介紹
1. 項目核心代碼結構截圖
<modules>
<!-- jeesz 工具jar -->
<module>jeesz-utils</module>
<!-- jeesz 公共配置jar -->
<module>jeesz-config</module>
<!-- jeesz 核心框架jar -->
<module>jeesz-framework</module>
<!-- jeesz CMS業(yè)務(wù)jar -->
<module>jeesz-core-cms</module>
<!-- jeesz 代碼自動(dòng)生成業(yè)務(wù)jar -->
<module>jeesz-core-gen</module>
<!-- jeesz 我的收藏業(yè)務(wù)jar -->
<module>jeesz-core-bookmark</module>
<!-- jeesz 電子流業(yè)務(wù)jar -->
<module>jeesz-core-act</module>
<!-- jeesz OA業(yè)務(wù)jar -->
<module>jeesz-core-oa</module>
<!-- jeesz 測試業(yè)務(wù)jar -->
<module>jeesz-core-test</module>
<!-- jeesz 定時(shí)調度業(yè)務(wù)jar -->
<module>jeesz-core-scheduler</module>
<!-- jeesz 我的任務(wù)業(yè)務(wù)jar -->
<module>jeesz-core-task</module>
<!-- jeesz admin后臺管理系統 -->
<module>jeesz-web-admin</module>
<!-- jeesz Restful服務(wù)管理系統 -->
<module>jeesz-web-service</module>
<!-- jeesz 定時(shí)調度管理系統 -->
<module>jeesz-web-scheduler</module>
<!-- jeesz 我的任務(wù)Dubbo服務(wù)消費者 -->
<module>jeesz-web-task</module>
<!-- jeesz 我的收藏Dubbo服務(wù)消費者 -->
<module>jeesz-web-bookmark</module>
<!-- jeesz 我的收藏Dubbo服務(wù)接口 -->
<module>jeesz-facade-bookmark</module>
<!-- jeesz 我的收藏Dubbo服務(wù)生產(chǎn)者 -->
<module>jeesz-service-bookmark</module>
<!-- jeesz 我的任務(wù)Dubbo服務(wù)接口 -->
<module>jeesz-facade-task</module>
<!-- jeesz 我的任務(wù)Dubbo服務(wù)生產(chǎn)者 -->
<module>jeesz-service-task</module>
<!-- JMS消息 -->
<module>jeesz-web-mq-task</module>
</modules>
特別提醒:開(kāi)發(fā)人員在開(kāi)發(fā)的時(shí)候可以將自己的業(yè)務(wù)REST服務(wù)化或者Dubbo服務(wù)化
2. 項目依賴(lài)介紹
2.1 后臺管理系統、Rest服務(wù)系統、Scheculer定時(shí)調度系統依賴(lài)如下圖:
2.2 Dubbo獨立服務(wù)項目依賴(lài)如下圖:
3. 平臺簡(jiǎn)介
Jeesz是一個(gè)分布式的框架,提供項目模塊化、服務(wù)化、熱插拔的思想,高度封裝安全性的Java EE快速開(kāi)發(fā)平臺。
Jeesz本身集成Dubbo服務(wù)管控、Zookeeper注冊中心、Redis分布式緩存技術(shù)、FastDFS分布式文件系統、ActiveMQ異步消息中間件、Nginx負載均衡等分布式技術(shù)
使用Maven做項目管理,項目模塊化,提高項目的易開(kāi)發(fā)性、擴展性
以Spring Framework為核心容器,Spring MVC為模型視圖控制器,MyBatis為數據訪(fǎng)問(wèn)層, Apache Shiro為權限授權層,Ehcahe對常用數據進(jìn)行緩存,Activit為工作流引擎等。
前端集成Bootstrap4 metronic框架,UI響應式、扁平化布局,適應所有PC、Pad、Anroid、ios 移動(dòng)設備等。
Jeesz主要定位于互聯(lián)網(wǎng)企業(yè)架構,已內置企業(yè)信息化系統的基礎功能和高效的代碼生成工具,包括:系統權限組件、數據權限組件、數據字典組件、核心工具 組件、視圖操作組件、工作流組件、代碼生成等。采用分層設計、雙重驗證、提交數據安全編碼、密碼加密、訪(fǎng)問(wèn)驗證、數據權限驗證。
Jeesz目前包括以下模塊項目,后臺系統管理系統,RestFul獨立服務(wù)系統、Scheduler定時(shí)調度系統、內容管理(CMS)系統、在線(xiàn)辦公(OA)系統、我的待辦(Task服務(wù))、我的收藏(Bookmark服務(wù))。
后臺管理系統包括企業(yè)組織架構(用戶(hù)管理、機構管理、區域管理)、菜單管理、角色權限管理、字典管理等功能;
RestFul獨立提供標準Rest服務(wù)API,您可以快速實(shí)現自己的業(yè)務(wù),提供需要的服務(wù);
Quartz定時(shí)調度系統可以動(dòng)態(tài)配置您的任務(wù)規則等;
內容管理(CMS)系統,包括內容管理,欄目管理、站點(diǎn)管理、公共留言、文件管理、前端網(wǎng)站展示等功能;
在線(xiàn)辦公(OA)系統,主要提供簡(jiǎn)單的流程實(shí)例。
Jeesz提供了常用工具進(jìn)行封裝,包括日志工具、緩存工具、服務(wù)器端驗證、數據字典、當前組織機構數據(用戶(hù)、機構、區域)以及其它常用小工具等。另外 還提供一個(gè)強大的在線(xiàn) 代碼生成 工具,此工具提供簡(jiǎn)單的單表、一對多、樹(shù)結構功能的生成,如果對外觀(guān)要求不是很高,生成的功能就可以用了。使用了Jeesz基礎框架,可以提高快速開(kāi)發(fā)效 率。
4. 內置功能(只列了一部分功能)
1.用戶(hù)管理:用戶(hù)是系統操作者,該功能主要完成系統用戶(hù)配置。
2.機構管理:配置系統組織機構(公司、部門(mén)、小組),樹(shù)結構展現,可隨意調整上下級。
3.區域管理:系統城市區域模型,如:國家、省市、地市、區縣的維護。
4.菜單管理:配置系統菜單,操作權限,按鈕權限標識等。
5.角色管理:角色菜單權限分配、設置角色按機構進(jìn)行數據范圍權限劃分。
6.字典管理:對系統中經(jīng)常使用的一些較為固定的數據進(jìn)行維護,如:是否、男女、類(lèi)別、級別等。
7.操作日志:系統正常操作日志記錄和查詢(xún);系統異常信息日志記錄和查詢(xún)。
8.連接池監視:監視當期系統數據庫連接池狀態(tài),可進(jìn)行分析SQL找出系統性能瓶頸。
9.工作流引擎:實(shí)現業(yè)務(wù)工單流轉、在線(xiàn)流程設計器。
5. 開(kāi)發(fā)工具
1.Eclipse IDE:采用Maven項目管理,模塊化。
2.代碼生成:通過(guò)界面方式簡(jiǎn)單配置,自動(dòng)生成相應代碼,目前包括三種生成方式(增刪改查):?jiǎn)伪?、一對多、?shù)結構。生成后的代碼如果不需要注意美觀(guān)程度,生成后即可用。
6. 技術(shù)選型(只列了一部分技術(shù))
1、后端
服務(wù)框架:Dubbo、zookeeper、Rest服務(wù)
緩存:Redis、ehcache
消息中間件:ActiveMQ
負載均衡:Nginx
分布式文件:FastDFS
數據庫連接池:Alibaba Druid 1.0
核心框架:Spring framework
安全框架:Apache Shiro 1.2
視圖框架:Spring MVC 4.0
服務(wù)端驗證:Hibernate Validator 5.1
布局框架:SiteMesh 2.4
工作流引擎:Activiti 5.15
任務(wù)調度:quartz 1.8.5
持久層框架:MyBatis 3.2
日志管理:SLF4J 1.7、Log4j
工具類(lèi):Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI
2、前端
JS框架:JQuery 1.9。
CSS框架: Bootstrap 4 metronic
客戶(hù)端驗證:JQuery Validation Plugin。
富文本:CKEcitor
文件管理:CKFinder
動(dòng)態(tài)頁(yè)簽:Jerichotab
數據表格:jqGrid
對話(huà)框:jQuery jBox
樹(shù)結構控件:jQuery zTree
其他組件:Bootstrap 4 metronic
3、支持
服務(wù)器中間件:Tomcat 6、7、Jboss 7、WebLogic 10、WebSphere 8
數據庫支持:目前僅提供mysql數據庫的支持,但不限于數據庫,下個(gè)版本升級多數據源切換和數據庫讀寫(xiě)分離: 如:Oracle、SqlServer、H2等
支持開(kāi)發(fā)環(huán)境:Eclipse、MyEclipse、Ras、Idea等
環(huán)境搭建:
1.環(huán)境準備
1.開(kāi)發(fā)工具: Eclipse IDE(建議使用高一點(diǎn)的版本)
2.JDK版本:JDK1.7
3.項目管理: Maven3.1.1
2.安裝步驟
1.安裝jdk1.7并配置環(huán)境變量(相信大家都會(huì )做,這里不再做重復的說(shuō)明)
2.安裝maven:maven安裝過(guò)程就是解壓縮的過(guò)程(我已經(jīng)幫大家解壓了, 目錄:E:\myprj\jeesz-maven\apache-maven-3.1.1),為了方便大家,這邊已經(jīng)提供了相關(guān)的安裝包,會(huì )在打包的目錄下共享。
3.mavan配置環(huán)境變量,右擊我的電腦?屬性?高級系統設置?環(huán)境變量?找到(系統變量path),在最前面輸入你的maven安裝包路徑,聲明:因為上一步解壓了指定的目錄,所以配置如下:
E:\myprj\jeesz-maven\apache-maven-3.1.1\bin;
相信大家都有配過(guò)環(huán)境變量,如果您不是很清楚,請查詢(xún)相關(guān)資料,了解一下maven的相關(guān)知識。
4.打開(kāi) cmd,在里面敲:mvn –version,出現以下結果說(shuō)明你maven安裝成功了
mvn 是 maven 的一個(gè)指令,mvn-version 是查看版本信息,我的操作系統是 64位的WIN7,安裝的 maven 是 3.1.1,如果能打印如上信息,說(shuō)明到此 Maven3 已經(jīng)在你的電腦上安裝完成。
5.建工作空間(進(jìn)入后選中j2ee視圖)
6.配置Eclipse編碼為UTF-8
Eclipse工具欄中選擇Window》Prefrences》General》Workspace
7.配置jre環(huán)境(之前大家需要安裝了jdk1.7版本,這里就使用安裝好的jdk進(jìn)行配置):
選擇Window》Prefrences》java》Installed JREs》Edit》選擇自己本地jdk安裝路徑》Finished》OK
8.去除JavaScript的驗證等信息(因為項目中大量使用js、css、xml等其他不同格式的文件,考慮到每次編譯的執行時(shí)間,所以這邊臨時(shí)將一些驗證信息去除)
Window》Prefrences》Validation》Suspend all validators》ok
9. 修改剛剛安裝的maven settings.xml配置文件,路徑如下:E:\myprj\jeesz-maven\apache-maven-3.1.1\conf,
添加本地庫地址:<localRepository>E:/myprj/jeesz-maven/apache-maven-3.1.1/repository</localRepository>
修改中央庫路徑(在網(wǎng)絡(luò )正常的情況下,可以從遠程中央庫下載缺失的jar包,我這里使用了Oschina的中央庫,如果網(wǎng)絡(luò )有問(wèn)題,
大家可以使用自己公司的私服進(jìn)行加載相關(guān)jar包),考慮到大家包有時(shí)候下載不下來(lái),我這里也給大家共享了項目所需要的jar包,全部放到了以下目錄:
E:/myprj/jeesz-maven/apache-maven-3.1.1/repository
10. Eclipse中配置maven安裝目錄和Setting文件加載的本地庫目錄
11.導入Maven項目
File》Import》Existing Maven Projects》下一步
選擇你本地的maven項目(請選中jeesz-project根目錄),點(diǎn)擊確定
加載出來(lái)所有項目后,點(diǎn)擊finish完成
提醒:這個(gè)導入的過(guò)程要一段時(shí)間,因為我本地連接網(wǎng)絡(luò ),所以會(huì )從遠程中央庫下載項目所需要的所有的jar包,請大家耐心等候。
如果你使用了本地庫則不需要等待很長(cháng)時(shí)間,如果是使用公司私服,則等待時(shí)間也不會(huì )很長(cháng)。
導入后的項目信息
本地庫的包已經(jīng)下載了
12.下載完所有jar包,更新maven項目:
1)選中所有項目 2) 右鍵選擇maven》Update project 選擇所有》勾選關(guān)聯(lián)項》點(diǎn)擊ok
如果項目還出現紅X錯誤,則必定是缺少相關(guān)的jar包,可以使用:
Window》showView》problem窗口查看異常信息

如果缺少jar包,可以將我們提供的jar包直接copy到你指定目錄即可
待項目里面的所有錯誤全部清零后才能進(jìn)行下一步工作(如下圖所示)
選中所有項目,對項目進(jìn)行清理:Project》clean
13. 嘗試對項目進(jìn)行編譯、打包看是否有問(wèn)題:
注意:一般我們打包編譯是針對于根項目,因為里面配置了所有的依賴(lài)關(guān)系。右鍵jeesz-project》Run As》Maven build…
在彈出的對話(huà)框中錄入clean install –X 命令,勾選Skip tests,Run…
提醒:如果對maven命令不是很熟的,可以去查下相關(guān)的資料
這邊簡(jiǎn)單做下解釋?zhuān)?clean install –X 表示清理所有項目并將jar包裝載到本地庫,其中-X表示輸出的信息(一般在出現maven問(wèn)題的時(shí)候可以使用-X來(lái)定位問(wèn)題。)
此時(shí)控制臺開(kāi)始編譯裝載所有的包,這個(gè)過(guò)程有點(diǎn)漫長(cháng),請大家耐心等候
出現以下結果說(shuō)明項目是正常的。
打好的包(包含war、jar),都在target文件夾下,這邊只以jeesz-web-admin為實(shí)例截圖如下:
14.Tomcat發(fā)布jeesz項目(發(fā)布過(guò)程不做詳細介紹,大家都會(huì )做):
下面對各個(gè)不同的項目進(jìn)行介紹:
Jeesz-web-admin: 可以獨立部署(后臺管理平臺)
Jeesz-web-service:可以獨立部署(REST服務(wù)平臺,客戶(hù)可以根據自己的業(yè)務(wù)去拓展Rest服務(wù),里面已經(jīng)寫(xiě)好了相關(guān)的實(shí)例)
Jeesz-service-bookmark、jeesz-service-task為dubbo服務(wù)提供者(這邊只通過(guò)收藏和待辦項目來(lái)對dubbo服務(wù)項目開(kāi)發(fā)做相關(guān)介紹,客戶(hù)可以根據自己的業(yè)務(wù)去拓展dubbo服務(wù),可以同時(shí)部署,也可以拆分部署)
Jeesz-web-bookmark、jeesz-web-task為dubbo消費者平臺,其中dubbo服務(wù)對外暴漏的服務(wù)接口為:Jeesz-facade-bookmark、jeesz-fa?ade-task(這邊只通過(guò)收藏和待辦項目來(lái)描述dubbo客戶(hù)端怎樣調用dubbo服務(wù)提供者的過(guò)程,客戶(hù)可以將dubbo消費端植入到不同的項目中,只需要做一些簡(jiǎn)單配置就可以了)
部署條件:
1) 執行mysql數據庫腳本: jeesz.sql
數據庫jdbc的配置項可以參考
2) Jeesz-web-admin可以直接通過(guò)tomcat部署
登陸用戶(hù)名密碼:jeesz/admin
3) Jeesz-web-service:可以通過(guò)tomcat獨立部署
登陸用戶(hù)名密碼:jeesz/admin
部署dubbo相關(guān)的項目需要具備以下條件
>安裝dubbo管控平臺,將war包解壓到tomcat,并將目錄替換為根目錄,直接啟動(dòng)tomcat即可(開(kāi)發(fā)環(huán)境提供window)
>Zookeeper注冊中心安裝,我這邊提供了zookeeper-3.4.5版本(開(kāi)發(fā)環(huán)境提供window),進(jìn)入安裝目錄啟動(dòng)即可
提醒: 我這邊已經(jīng)給提供了相關(guān)的程序,其中dubbo管控平臺要獨立部署在Tomcat服務(wù)器上,這個(gè)不需要進(jìn)行高可用配置,直接啟動(dòng)tomcat就可以啟動(dòng)。Zookeeper注冊中心有相關(guān)的命令可以直接運行啟動(dòng)。如果想部署在linux系統上,可以看我們提供的相關(guān)文檔即可
5) 待dubbo管控臺和注冊中心啟動(dòng)ok,則將Jeesz-service-bookmark、jeesz-service-task項目同時(shí)(可以獨立部署)部署到tomat中,為dubbo服務(wù)提供者
6) 登陸dubbo管控臺查看相關(guān)的服務(wù)信息,可以看到你發(fā)布的服務(wù)已經(jīng)由管控臺進(jìn)行管控了:
http://localhost:8080/root
直接通過(guò)地址可以訪(fǎng)問(wèn)是因為將包名改為了Root
用戶(hù)名密碼:root/root
7) 分部部署Jeesz-web-bookmark、jeesz-web-task dubbo消費者項目,目的是讓開(kāi)發(fā)人員了解服務(wù)是怎樣調用的。
到此整個(gè)項目的安裝過(guò)程先到這里,請各位開(kāi)發(fā)人員安裝完項目后投入開(kāi)發(fā),所有的業(yè)務(wù)直接服務(wù)化,因為項目是基于驅動(dòng)開(kāi)發(fā)的,故將你們的表設計好,通過(guò)jeesz-web-admin項目的gen代碼生成模塊自動(dòng)生成所有的controller、service、dao、xml、jsp界面等,直接進(jìn)行業(yè)務(wù)編寫(xiě)處理。近期會(huì )不斷的完善文檔,請時(shí)刻關(guān)注。
如果有朋友愿意了解項目更多的信息,請直接到我博客列表:
聲明:該框架面向企業(yè),是大型互聯(lián)網(wǎng)分布式企業(yè)架構,后期會(huì )介紹linux上部署高可用集群項目。
有愿意了解框架技術(shù)或者源碼的朋友直接加Q(2137028325)一起學(xué)習
聯(lián)系客服