使用技術 spring,springmvc ,mybatis 通用mapper,beetl maven redis dubbo zookeep bootstreap ace jquery 等等前端
主要是提供了經常使用的權限系統精確到按鈕級別和一些經常使用的功能和組件java
分佈式 主要是將系統分紅多個模塊 如商城 能夠分紅會員中心,訂單管理 購物車等等,每一個模塊 分爲API 和實現兩個項目,實現項目也打成war包 獨立部署,每一個模塊能夠均可以多機部署。固然這樣的模式會致使開發和部署更加麻煩,項目分了多個模塊 原本部署一次的也變成了部署屢次,分佈式的事務也難解決。但仍是有不得不分的理由............................mysql
聲明:該框架面向企業,是大型互聯網分佈式企業架構,後期會介紹linux上部署高可用集羣項目。jquery
有願意瞭解框架技術或者源碼的朋友直接加Q(951449465)一塊兒學習linux
介紹ios
1. 項目核心代碼結構截圖web
pig-common 通用的工具類及全部模塊均可以用的redis
pig-xx-api 模塊所對應的接口和域模型spring
pig-xx 模塊對應接口的實現類
pig-xx-portl 模塊所對應的前臺顯示
pig-web 全部模塊的的後臺 能夠拆分爲多個後臺
pig-sso 項目模塊見的單點登陸
pig-search 項目全部的搜索
pig-scheculer 模塊的定時任務
特別提醒:開發人員在開發的時候能夠將本身的業務REST服務化或者Dubbo服務化
2. 項目依賴介紹
2.1 後臺管理系統、Scheculer定時調度系統依賴以下圖:
2.2 Dubbo獨立服務項目依賴以下圖:
3. 平臺簡介
zsCat是一個分佈式的框架,提供項目模塊化、服務化、熱插拔的思想,高度封裝安全性的Java EE快速開發平臺。
zsCat自己集成Dubbo服務管控、Zookeeper註冊中心、Redis分佈式緩存技術、FastDFS分佈式文件系統、spring rabbitmq異步消息中間件、Nginx負載均衡等分佈式技術
使用Maven作項目管理,項目模塊化,提升項目的易開發性、擴展性
以Spring Framework爲核心容器,Spring MVC爲模型視圖控制器,MyBatis爲數據訪問層, Apache Shiro爲權限受權層,Ehcahe對 redis經常使用數據進行緩存等。
前端集成Bootstrap4 ace beelt框架,UI響應式、扁平化佈局,適應全部PC、Pad、Anroid、ios 移動設備等。
zsCat主要定位於互聯網企業架構,已內置企業信息化系統的基礎功能和高效的代碼生成工具,包括:系統權限組件、數據權限組件、數據字典組件、核心工具 組件、代碼生成等。採用分層設計、雙重驗證、提交數據安全編碼、密碼加密、訪問驗證、數據權限驗證。
zsCat目前包括如下模塊項目,後臺系統管理系統,RestFul獨立服務系統、Scheduler定時調度系統、內容管理(CMS)系統、在線辦公(OA)系統、)。
後臺管理系統包括企業組織架構(用戶管理、機構管理、區域管理)、菜單管理、角色權限管理、字典管理等功能;
RestFul獨立提供標準Rest服務API,您能夠快速實現本身的業務,提供須要的服務;
Quartz定時調度系統能夠動態配置您的任務規則等;
內容管理(CMS)系統,包括內容管理,欄目管理、站點管理、公共留言、文件管理、前端網站展現等功能;
在線辦公(OA)系統,主要提供簡單的流程實例。
zsCat提供了經常使用工具進行封裝,包括日誌工具、緩存工具、服務器端驗證、數據字典、當前組織機構數據(用戶、機構、區域)以及其它經常使用小工具等。。使用了zsCat基礎框架,能夠提升快速開發效 率。
4. 內置功能(只列了一部分功能)
1.用戶管理:用戶是系統操做者,該功能主要完成系統用戶配置。
2.機構管理:配置系統組織機構(公司、部門、小組),樹結構展示,可隨意調整上下級。
3.區域管理:系統城市區域模型,如:國家、省市、地市、區縣的維護。
4.菜單管理:配置系統菜單,操做權限,按鈕權限標識等。
5.角色管理:角色菜單權限分配、設置角色按機構進行數據範圍權限劃分。
6.字典管理:對系統中常用的一些較爲固定的數據進行維護,如:是否、男女、類別、級別等。
7.操做日誌:系統正常操做日誌記錄和查詢;系統異常信息日誌記錄和查詢。
8.鏈接池監視:監視當期系統數據庫鏈接池狀態,可進行分析SQL找出系統性能瓶頸。
5. 開發工具
1.Eclipse IDE:採用Maven項目管理,模塊化。
6. 技術選型(只列了一部分技術)
一、後端
服務框架:Dubbo、zookeeper、Rest服務
緩存:Redis、ehcache
消息中間件:springrabbttMQ
負載均衡:Nginx
分佈式文件:FastDFS
數據庫鏈接池:Alibaba Druid 1.0
核心框架:Spring framework
安全框架:Apache Shiro 1.2
視圖框架:Spring MVC 4.0
服務端驗證:Hibernate Validator 5.1
任務調度:quartz 1.8.5
持久層框架:MyBatis 3.2
日誌管理:SLF4J 1.七、Log4j
工具類:Apache Commons、Jackson 2.二、Xstream 1.四、Dozer 5.三、POI
二、前端
JS框架:JQuery 1.9。 beelt
CSS框架: Bootstrap 4 ace
客戶端驗證:JQuery Validation Plugin。
富文本:UEcitor
文件管理:CKFinder
動態頁籤:Jerichotab
數據表格:jqGrid
對話框:layer
樹結構控件:jQuery zTree
其餘組件:Bootstrap 4 ace
三、支持
服務器中間件:Tomcat 六、七、Jboss 七、WebLogic 十、WebSphere 8
數據庫支持:目前僅提供mysql數據庫的支持,但不限於數據庫,下個版本升級多數據源切換和數據庫讀寫分離: 如:Oracle、SqlServer、H2等
支持開發環境:Eclipse、MyEclipse、Ras、Idea等
環境搭建:
1.環境準備
1.開發工具: Eclipse IDE(建議使用高一點的版本)
2.JDK版本:JDK1.7
3.項目管理: Maven3.1.1
2.安裝步驟
1.安裝jdk1.7並配置環境變量(相信你們都會作,這裏再也不作重複的說明)
2.安裝maven:maven安裝過程就是解壓縮的過程(我已經幫你們解壓了, 目錄:E:\myprj\zscat-maven\apache-maven-3.1.1),爲了方便你們,這邊已經提供了相關的安裝包,會在打包的目錄下共享。
3.mavan配置環境變量,右擊個人電腦?屬性?高級系統設置?環境變量?找到(系統變量path),在最前面輸入你的maven安裝包路徑,聲明:由於上一步解壓了指定的目錄,因此配置以下:
E:\myprj\zscat-maven\apache-maven-3.1.1\bin;
相信你們都有配過環境變量,若是您不是很清楚,請查詢相關資料,瞭解一下maven的相關知識。
4.打開 cmd,在裏面敲:mvn –version,出現如下結果說明你maven安裝成功了
mvn 是 maven 的一個指令,mvn-version 是查看版本信息,個人操做系統是 64位的WIN7,安裝的 maven 是 3.1.1,若是能打印如上信息,說明到此 Maven3 已經在你的電腦上安裝完成。
5.建工做空間(進入後選中import maven視圖)
6.配置Eclipse編碼爲UTF-8
Eclipse工具欄中選擇Window》Prefrences》General》Workspace
7.配置jre環境(以前你們須要安裝了jdk1.7版本,這裏就使用安裝好的jdk進行配置):
選擇Window》Prefrences》java》Installed JREs》Edit》選擇本身本地jdk安裝路徑》Finished》OK
8.去除JavaScript的驗證等信息(由於項目中大量使用js、css、xml等其餘不一樣格式的文件,考慮到每次編譯的執行時間,因此這邊臨時將一些驗證信息去除)
Window》Prefrences》Validation》Suspend all validators》ok
zs
9. 修改剛剛安裝的maven settings.xml配置文件,路徑以下:E:\myprj\zscat-maven\apache-maven-3.1.1\conf,
添加本地庫地址:E:/myprj/zscat-maven/apache-maven-3.1.1/repository
修改中央庫路徑(在網絡正常的狀況下,能夠從遠程中央庫下載缺失的jar包,我這裏使用了Oschina的中央庫,若是網絡有問題,
你們可使用本身公司的私服進行加載相關jar包),考慮到你們包有時候下載不下來,我這裏也給你們共享了項目所須要的jar包,所有放到了如下目錄:
E:/myprj/zscat-maven/apache-maven-3.1.1/repository
10. Eclipse中配置maven安裝目錄和Setting文件加載的本地庫目錄
11.導入Maven項目
File》Import》Existing Maven Projects》下一步
選擇你本地的maven項目(請選中zscat-project根目錄),點擊肯定
加載出來全部項目後,點擊finish完成
提醒:這個導入的過程要一段時間,由於我本地鏈接網絡,因此會從遠程中央庫下載項目所須要的全部的jar包,請你們耐心等候。
若是你使用了本地庫則不須要等待很長時間,若是是使用公司私服,則等待時間也不會很長。
導入後的項目信息
本地庫的包已經下載了
12.下載完全部jar包,更新maven項目:
1)選中全部項目 2) 右鍵選擇maven》Update project 選擇全部》勾選關聯項》點擊ok
若是項目還出現紅X錯誤,則一定是缺乏相關的jar包,可使用:
Window》showView》problem窗口查看異常信息
若是缺乏jar包,能夠將咱們提供的jar包直接copy到你指定目錄便可
待項目裏面的全部錯誤所有清零後才能進行下一步工做(以下圖所示)
選中全部項目,對項目進行清理:Project》clean
13. 嘗試對項目進行編譯、打包看是否有問題:
注意:通常咱們打包編譯是針對於根項目,由於裏面配置了全部的依賴關係。右鍵zscat-project》Run As》Maven build…
在彈出的對話框中錄入clean install –X 命令,勾選Skip tests,Run…
提醒:若是對maven命令不是很熟的,能夠去查下相關的資料
這邊簡單作下解釋: clean install –X 表示清理全部項目並將jar包裝載到本地庫,其中-X表示輸出的信息(通常在出現maven問題的時候可使用-X來定位問題。)
此時控制檯開始編譯裝載全部的包,這個過程有點漫長,請你們耐心等候
出現如下結果說明項目是正常的。
打好的包(包含war、jar),都在target文件夾下,這邊只以pig-web爲實例截圖以下:
14.Tomcat發佈zscat項目(發佈過程不作詳細介紹,你們都會作):
下面對各個不一樣的項目進行介紹:
pig-web: 能夠獨立部署(後臺管理平臺)
pig-cms dubbo服務能夠獨立部署 能夠部署單機也能夠多機部署(本機能夠郵局運行啓動當前模塊的Bootstrap.java 類)
部署條件:
1) 執行mysql數據庫腳本: pig.sql
數據庫jdbc的配置項能夠參考
部署dubbo相關的項目須要具有如下條件
>安裝dubbo管控平臺,將war包解壓到tomcat,並將目錄替換爲根目錄,直接啓動tomcat便可(開發環境提供window)
>Zookeeper註冊中心安裝,我這邊提供了zookeeper-3.4.5版本(開發環境提供window),進入安裝目錄啓動便可
提醒: 我這邊已經給提供了相關的程序,其中dubbo管控平臺要獨立部署在Tomcat服務器上,這個不須要進行高可用配置,直接啓動tomcat就能夠啓動。Zookeeper註冊中心有相關的命令能夠直接運行啓動。若是想部署在linux系統上,能夠看咱們提供的相關文檔便可
5) 待dubbo管控臺和註冊中心啓動ok,則將pig-cms、pig-oa項目同時(能夠獨立部署)部署到tomat中,爲dubbo服務提供者
6) 登錄dubbo管控臺查看相關的服務信息,能夠看到你發佈的服務已經由管控臺進行管控了:
http://localhost:8080/root
直接經過地址能夠訪問是由於將包名改成了Root
用戶名密碼:root/root
7) 分部部署pig-cms、pig-oa dubbo消費者項目,目的是讓開發人員瞭解服務是怎樣調用的。
到此整個項目的安裝過程先到這裏,請各位開發人員安裝完項目後投入開發,全部的業務直接服務化,由於項目是基於驅動開發的,故將大家的表設計好,經過一個工具類生成全部的controller、service、dao、xml、jsp界面等,直接進行業務編寫處理。近期會不斷的完善文檔,請時刻關注。
微信掃一掃關注該公衆號