分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

smileday發表於2017-12-20

介紹

jeesz-utils

jeesz-config

jeesz-framework

jeesz-core-cms

jeesz-core-gen

jeesz-core-bookmark

jeesz-core-act

jeesz-core-oa

jeesz-core-test

jeesz-core-scheduler

jeesz-core-task

jeesz-web-admin

jeesz-web-service

jeesz-web-scheduler

jeesz-web-task

jeesz-web-bookmark

jeesz-facade-bookmark

jeesz-service-bookmark

jeesz-facade-task

jeesz-service-task

jeesz-web-mq-task

特別提醒:開發人員在開發的時候可以將自己的業務REST服務化或者Dubbo服務化

2. 專案依賴介紹

2.1 後臺管理系統、Rest服務系統、Scheculer定時排程系統依賴如下圖:

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

2.2 Dubbo獨立服務專案依賴如下圖:

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

3. 平臺簡介

Jeesz是一個分散式的框架,提供專案模組化、服務化、熱插拔的思想,高度封裝安全性的Java EE快速開發平臺。

Jeesz本身整合Dubbo服務管控、Zookeeper註冊中心、Redis分散式快取技術、FastDFS分散式檔案系統、ActiveMQ非同步訊息中介軟體、Nginx負載均衡等分散式技術

使用Maven做專案管理,專案模組化,提高專案的易開發性、擴充套件性

以Spring Framework為核心容器,Spring MVC為模型檢視控制器,MyBatis為資料訪問層, Apache Shiro為許可權授權層,Ehcahe對常用資料進行快取,Activit為工作流引擎等。

前端整合Bootstrap4 metronic框架,UI響應式、扁平化佈局,適應所有PC、Pad、Anroid、ios 移動裝置等。

Jeesz主要定位於網際網路企業架構,已內建企業資訊化系統的基礎功能和高效的程式碼生成工具,包括:系統許可權元件、資料許可權元件、資料字典元件、核心工具 元件、檢視操作元件、工作流元件、程式碼生成等。採用分層設計、雙重驗證、提交資料安全編碼、密碼加密、訪問驗證、資料許可權驗證。

Jeesz目前包括以下模組專案,後臺系統管理系統,RestFul獨立服務系統、Scheduler定時排程系統、內容管理(CMS)系統、線上辦公(OA)系統、我的待辦(Task服務)、我的收藏(Bookmark服務)。

後臺管理系統包括企業組織架構(使用者管理、機構管理、區域管理)、選單管理、角色許可權管理、字典管理等功能;

RestFul獨立提供標準Rest服務API,您可以快速實現自己的業務,提供需要的服務;

Quartz定時排程系統可以動態配置您的任務規則等;

內容管理(CMS)系統,包括內容管理,欄目管理、站點管理、公共留言、檔案管理、前端網站展示等功能;

線上辦公(OA)系統,主要提供簡單的流程例項。

Jeesz提供了常用工具進行封裝,包括日誌工具、快取工具、伺服器端驗證、資料字典、當前組織機構資料(使用者、機構、區域)以及其它常用小工具等。另外 還提供一個強大的線上 程式碼生成 工具,此工具提供簡單的單表、一對多、樹結構功能的生成,如果對外觀要求不是很高,生成的功能就可以用了。使用了Jeesz基礎框架,可以提高快速開發效 率。

4. 內建功能(只列了一部分功能)

1.使用者管理:使用者是系統操作者,該功能主要完成系統使用者配置。

2.機構管理:配置系統組織機構(公司、部門、小組),樹結構展現,可隨意調整上下級。

3.區域管理:系統城市區域模型,如:國家、省市、地市、區縣的維護。

4.選單管理:配置系統選單,操作許可權,按鈕許可權標識等。

5.角色管理:角色選單許可權分配、設定角色按機構進行資料範圍許可權劃分。

6.字典管理:對系統中經常使用的一些較為固定的資料進行維護,如:是否、男女、類別、級別等。

7.操作日誌:系統正常操作日誌記錄和查詢;系統異常資訊日誌記錄和查詢。

8.連線池監視:監視當期系統資料庫連線池狀態,可進行分析SQL找出系統效能瓶頸。

9.工作流引擎:實現業務工單流轉、線上流程設計器。

5. 開發工具

1.Eclipse IDE:採用Maven專案管理,模組化。

2.程式碼生成:通過介面方式簡單配置,自動生成相應程式碼,目前包括三種生成方式(增刪改查):單表、一對多、樹結構。生成後的程式碼如果不需要注意美觀程度,生成後即可用。

6. 技術選型(只列了一部分技術)

1、後端

服務框架:Dubbo、zookeeper、Rest服務

快取:Redis、ehcache

訊息中介軟體:ActiveMQ

負載均衡:Nginx

分散式檔案:FastDFS

資料庫連線池:Alibaba Druid 1.0

核心框架:Spring framework

安全框架:Apache Shiro 1.2

檢視框架:Spring MVC 4.0

服務端驗證:Hibernate Validator 5.1

佈局框架:SiteMesh 2.4

工作流引擎:Activiti 5.15

任務排程:quartz 1.8.5

持久層框架:MyBatis 3.2

日誌管理:SLF4J 1.7、Log4j

工具類:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI

2、前端

JS框架:JQuery 1.9。

CSS框架: Bootstrap 4 metronic

客戶端驗證:JQuery Validation Plugin。

富文字:CKEcitor

檔案管理:CKFinder

動態頁籤:Jerichotab

資料表格:jqGrid

對話方塊:jQuery jBox

樹結構控制元件:jQuery zTree

其他元件:Bootstrap 4 metronic

3、支援

伺服器中介軟體:Tomcat 6、7、Jboss 7、WebLogic 10、WebSphere 8

資料庫支援:目前僅提供mysql資料庫的支援,但不限於資料庫,下個版本升級多資料來源切換和資料庫讀寫分離: 如:Oracle、SqlServer、H2等

支援開發環境:Eclipse、MyEclipse、Ras、Idea等

願意瞭解框架技術或者原始碼的朋友直接加求求(企鵝):2042849237

環境搭建:

1.環境準備

1.開發工具: Eclipse IDE(建議使用高一點的版本)

2.JDK版本:JDK1.7

3.專案管理: Maven3.1.1

2.安裝步驟

1.安裝jdk1.7並配置環境變數(相信大家都會做,這裡不再做重複的說明)

2.安裝maven:maven安裝過程就是解壓縮的過程(我已經幫大家解壓了, 目錄:E:\myprj\jeesz-maven\apache-maven-3.1.1),為了方便大家,這邊已經提供了相關的安裝包,會在打包的目錄下共享。

3.mavan配置環境變數,右擊我的電腦屬性高階系統設定環境變數找到(系統變數path),在最前面輸入你的maven安裝包路徑,宣告:因為上一步解壓了指定的目錄,所以配置如下:

E:\myprj\jeesz-maven\apache-maven-3.1.1\bin;

相信大家都有配過環境變數,如果您不是很清楚,請查詢相關資料,瞭解一下maven的相關知識。

4.開啟 cmd,在裡面敲:mvn –version,出現以下結果說明你maven安裝成功了

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

mvn 是 maven 的一個指令,mvn-version 是檢視版本資訊,我的作業系統是 64位的WIN7,安裝的 maven 是 3.1.1,如果能列印如上資訊,說明到此 Maven3 已經在你的電腦上安裝完成。

5.建工作空間(進入後選中j2ee檢視)

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

6.配置Eclipse編碼為UTF-8

Eclipse工具欄中選擇Window》Prefrences》General》Workspace

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

7.配置jre環境(之前大家需要安裝了jdk1.7版本,這裡就使用安裝好的jdk進行配置):

選擇Window》Prefrences》java》Installed JREs》Edit》選擇自己本地jdk安裝路徑》Finished》OK

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

8.去除JavaScript的驗證等資訊(因為專案中大量使用js、css、xml等其他不同格式的檔案,考慮到每次編譯的執行時間,所以這邊臨時將一些驗證資訊去除)

Window》Prefrences》Validation》Suspend all validators》ok

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

9. 修改剛剛安裝的maven settings.xml配置檔案,路徑如下:E:\myprj\jeesz-maven\apache-maven-3.1.1\conf,

新增本地庫地址:E:/myprj/jeesz-maven/apache-maven-3.1.1/repository

修改中央庫路徑(在網路正常的情況下,可以從遠端中央庫下載缺失的jar包,我這裡使用了Oschina的中央庫,如果網路有問題,

大家可以使用自己公司的私服進行載入相關jar包),考慮到大家包有時候下載不下來,我這裡也給大家共享了專案所需要的jar包,全部放到了以下目錄:

E:/myprj/jeesz-maven/apache-maven-3.1.1/repository

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

10. Eclipse中配置maven安裝目錄和Setting檔案載入的本地庫目錄

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid
分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

11.匯入Maven專案

File》Import》Existing Maven Projects》下一步

選擇你本地的maven專案(請選中jeesz-project根目錄),點選確定

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

載入出來所有專案後,點選finish完成

分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

提醒:這個匯入的過程要一段時間,因為我本地連線網路,所以會從遠端中央庫下載專案所需要的所有的jar包,請大家耐心等候。

如果你使用了本地庫則不需要等待很長時間,如果是使用公司私服,則等待時間也不會很長。

匯入後的專案資訊 更多詳細原始碼參考來源

願意瞭解框架技術或者原始碼的朋友直接求求:2042849237



相關文章