1. 程式人生 > >JeeWeb敏捷開發平臺

JeeWeb敏捷開發平臺

JEEWEB Mybatis版本是一款基於SpringMVC+Spring+Mybatis+Mybatis Plus的JAVA WEB敏捷開發系統;它是一款具有程式碼生成功能的智慧快速開發平臺;是以Spring Framework為核心容器,Spring MVC為模型檢視控制器,Mybatis為資料訪問層, Apache Shiro為許可權授權層,Ehcahe對常用資料進行快取,Disruptor作為併發框架,Bootstrap作為前端框架的優秀開源系統。

其實這套框架已經開源了,由於原來封裝的太厲害了,難以理解,所以我花了好幾天研究了一下這套系統,並簡單化了。

專案目錄結合:




CRUD基本上不用自己寫了,哈哈哈哈

JeeWeb 技術特點

JeeWeb使用目前流程的WEB開發架構技術,如 SpringMVC, Mybatis,Apache Shiro, Disruptor , ehcache, Jquery ,BootStrap 等等,支援多種資料庫MySQL, Oracle, sqlserver等。 分層設計:使用分層設計,分為dao,service,Controller,view層,層次清楚,低耦合,高內聚。

安全考慮:嚴格遵循了web安全的規範,前後臺雙重驗證,引數編碼傳輸,密碼md5加密儲存,shiro許可權驗證,從根本上避免了SQL注入,XSS攻擊,CSRF攻擊等常見的web攻擊手段。

JeeWeb 功能特點

  • 採用SpringMVC+Spring+Mybatis+Mybatis Plus+Shiro+ Ehcache+Disruptor+Jquery + Boostrap + Ztree等基礎前後端架構架構
  • 採用面向宣告的開發模式, 基於泛型編寫極少程式碼即可實現複雜的資料展示、資料編輯、表單處理等功能,在不使用程式碼生成器的情況下,也只需要很少的程式碼就能實現基礎的CURD操作,再配合線上開發與程式碼生成器的使用,更加加快了開發的進度,將J2EE的開發效率成本提高,可以將程式碼減少60%以上。
  • 線上開發(通過線上配置實現一個表模型的增刪改查功能,無需一行程式碼,支援使用者自定義表單佈局)
  • 程式碼生成器,支援多種資料模型,根據表生成對應的Entity,Service,Dao,Controller,JSP等,增刪改查功能生成直接使用
  • UI標籤開發庫,針對前端UI進行標準封裝表,頁面統一採用UI標籤實現功能:資料datagrid,treegrid,FileInput,Editor,GridSelect等,實現JSP頁面零JS,開發維護簡潔高效
  • 查詢過濾器:只需前端配置,後臺動態拼SQL追加查詢條件;支援多種匹配方式(全匹配/模糊查詢/包含查詢/不匹配查詢)
  • 移動平臺支援,對Bootstrap(相容Html5)進行標準封裝
  • 國際化(支援多語言,國際化的封裝為多語言做了便捷支援)
  • 多資料來源(線上配置資料來源,資料來源工作類封裝)
  • 資料許可權:整合Shiro許可權
  • 計劃任務控制(線上配置計劃任務、方便計劃任務的時間調整規劃)
  • 郵件傳送(配置郵件模版、郵件帳號的線上配置、郵件非同步傳送、郵件傳送日誌功能統計)
  • 簡訊傳送(配置簡訊模版、簡訊帳號的線上配置、簡訊非同步傳送、簡訊傳送日誌功能統計、支援簡訊傳送平臺動態切換)
  • 多種首頁風格切換,支援自定義首頁風格。(Inspinia風格|ACE風格)
  • 資料統計報表:豐富的報表統計功能
  • 支援多種瀏覽器: Google, 火狐, IE,360 等
  • 支援資料庫: Mysql,Oracle10g,SqlServer等
  • 基礎許可權: 使用者,角色,選單許可權
  • Web容器測試通過的有Jetty和Tomcat,Weblogic
  • 要求JDK1.7+

技術選型

1、後端

核心框架:Spring Framework
安全框架:Apache Shiro
檢視框架:Spring MVC
服務端驗證:Hibernate Validator
佈局框架:SiteMesh
任務排程:Quartz
持久層框架:Mybatis
資料庫連線池:Alibaba Druid
快取框架:Ehcache
併發框架:Disruptor
日誌管理:SLF4J、Log4j
工具類:Apache Commons、Jackson、Xstream、

2、前端

JS框架:jQuery。
CSS框架:Twitter Bootstrap
客戶端驗證:Validform。
富文字線上編輯:markdown、simditor、Summernote、CodeMirror自由切換
檔案上傳工具:Bootstrap fileinput
資料表格:jqGrid
對話方塊:layer
樹結構控制元件:jQuery zTree
日期控制元件: datepicker
程式碼高亮: syntaxhighlighter
├─main
│  │  
│  ├─java
│  │   │
│  │   └─cn.jeeweb----------------平臺主程式碼
│  │             │
│  │             ├─core----------------平臺核心模組存放目錄
│  │             │    ├─common----------------專案公用的部分(例如基礎controller、dao、service、以及動態SQL/HQL實現)
│  │             │    │
│  │             │    ├─disruptor-------------併發框架的實現(簡訊傳送模組、郵件傳送模組)
│  │             │    │
│  │             │    ├─filter、interceptor---安全過濾器、其他一些公用攔截器
│  │             │    │
│  │             │    ├─mapper----------------各種Object到Xml、Object到Json的對映轉換類
│  │             │    │
│  │             │    ├─model-----------------前段暫時的各種JSON實體
│  │             │    │
│  │             │    ├─quartz----------------quartz定時任務實現
│  │             │    │
│  │             │    ├─query-----------------前端請求,後端自動組裝、以及分頁的查詢模組
│  │             │    │
│  │             │    ├─repository------------持久層相關類
│  │             │    │
│  │             │    ├─security--------------安全相關類
│  │             │    │
│  │             │    ├─tag-------------------GRID標籤、form標籤、html元件載入標籤等
│  │             │    │
│  │             │    └─utils-----------------一些工具類
│  │             │    
│  │             └─modules----------------內建功能模組(按照業務模組分類)
│  │                  ├─charts----------------圖表模組
│  │                  │
│  │                  └─sys-------------------許可權模組
│  │                     │
│  │                     ├─controller---控制層
│  │                     │
│  │                     ├─entity-------實體層
│  │                     │
│  │                     ├─service------服務層
│  │                     │
│  │                     ├─security-----安全相關
│  │                     │
│  │                     ├─tags----------------標籤
│  │                     │
│  │                     └─utils-----------------一些工具類
│  │   
│  │
│  ├─resources----------------平臺資原始檔
│  │     │
│  │     ├─ehcache----------------快取配置目錄(ehcache.xml快取配置檔案)
│  │     │ 
│  │     ├─i18n-------------------國際化資訊所在的檔名檔案目錄(messages.properties專案國際化、ValidationMessages.propertieshibernate validator驗證)
│  │     │ 
│  │     ├─mapper----------------一些對映(特別tag/html/中的檔案,為html元件載入包)
│  │     │ 
│  │     ├─statement-------------動態SQL/HQL(是更靈活的操作SQL/HQL)
│  │     │ 
│  │     ├─codegen.properties-----程式碼生成配置
│  │     │ 
│  │     ├─dbconfig.properties----資料庫配置
│  │     │ 
│  │     ├─jeeweb.properties------專案的一些配置
│  │     │ 
│  │     ├─shiro.properties-------shiro配置
│  │     │ 
│  │     ├─shiro.properties-------程式碼生成器的模板檔案,以及其他模板存放目錄
│  │     │ 
│  │     ├─*.properties----------(其他配置,可以檢視配置的字首,對應具體業務的配置,如何:sms.properties簡訊、email.properties郵件配置)
│  │     │ 
│  │     └─spring-*.xml-----------Spring相關檔案
│  │
│  └─webapp----------------web頁面和靜態資源存放的目錄
│      │
│      └─WEB-INF
│            │
│            ├─static----------------靜態資源目錄
│            │    │
│            │    ├─ace----------------ace樣式JS,CSS檔案
│            │    ├─vendors----------------第三方的JS,css,按照第三方包名單獨儲存
│            │    ├─common-----------------系統的公用JS.CSS檔案
│            │    └─modules----------------功能模組CSS,以及JS,按照模板名單獨存放
│            └─webpage----------------檢視檔案目錄
│                 ├─decorators-------------檢視裝飾目錄

開源時代嘛,有需要的留下你們的郵箱,如果我們及時發給你,請等等哦,親