NutzWk企業(yè)級(jí)開發(fā)框架
NutzWk,開源企業(yè)級(jí) Java Web 開發(fā)框架。
“快速開發(fā)、功能豐富、擴(kuò)展性強(qiáng)、性能優(yōu)越”,在力所能及的情況下,最大限度的提高Web開發(fā)人員的生產(chǎn)力。
https://nutzwk.wizzer.cn V5演示地址
https://demo.budwk.com V6演示地址
https://budwk.com/donation 捐贈(zèng)者列表
前言
本項(xiàng)目發(fā)展自2010年,2012年開始用于商業(yè)項(xiàng)目,至今已服務(wù)于全國(guó)各地公司大大小小數(shù)千個(gè)項(xiàng)目,行業(yè)涉及政務(wù)、電商、物聯(lián)網(wǎng)等,隨著個(gè)人經(jīng)驗(yàn)積累及從事行業(yè)的不同分別發(fā)布了1.0至5.0多個(gè)版本,每個(gè)版本都是完整運(yùn)行且完全開源免費(fèi)的,您可以根據(jù)項(xiàng)目規(guī)模選擇不同版本。本項(xiàng)目案例眾多,省廳級(jí)項(xiàng)目、市級(jí)平臺(tái)、大數(shù)據(jù)項(xiàng)目、電商平臺(tái)、物聯(lián)網(wǎng)平臺(tái)等等,issues里有部分案例截圖,限于篇幅不一一羅列。
我們有強(qiáng)大的后援 —— Nutz 社區(qū)支持 https://nutz.cn 及 Nutz 使用手冊(cè) https://nutzam.com/core/nutz_preface.html
版本說明
- v6.x - zookeeper 微服務(wù)分布式版本
前后端分離,前端 nuxt + vue + elementUI - v6.x - nacos 微服務(wù)分布式版本
前后端分離,前端 nuxt + vue + elementUI - v6.x - mini 微服務(wù)單應(yīng)用版本(一個(gè) jar 或 war 包)
前后端分離,前端 nuxt + vue + elementUI - v5.x - zookeeper 微服務(wù)分布式版本
前端 jQuery + bootsrtap 或 jQuery + vue.js + elementUI - v5.x - nacos 微服務(wù)分布式版本
前端 jQuery + bootsrtap 或 jQuery + vue.js + elementUI - v5.x - mini 微服務(wù)單應(yīng)用版本(一個(gè) jar 或 war 包)
前端 jQuery + bootsrtap 或 jQuery + vue.js + elementUI - v4.x - 單應(yīng)用版本(war 包)
前端 jQuery + bootsrtap - v3.x - 單應(yīng)用版本(war 包)
前端 jQuery + bootsrtap - v1.x - 單應(yīng)用版本(war 包)
前端 jQuery + easyUI
| 版本名稱 | 版本特點(diǎn) | 版本地址 | 運(yùn)行方式 | 后端主要技術(shù) | 前端主要技術(shù) | 瀏覽器兼容性 |
|---|---|---|---|---|---|---|
| BudWk v6.x-zookeeper | 微服務(wù)分布式 + 前后端分離 | v6.x-zookeeper | jar,war | nutzboot + dubbo + zookeeper + shiro | nuxt + vue + elementUI | Chrome,IE10+ |
| BudWk v6.x-nacos | 微服務(wù)分布式 + 前后端分離 | v6.x-nacos | jar,war | nutzboot + dubbo + nacos + shiro | nuxt + vue + elementUI | Chrome,IE10+ |
| BudWk v6.x-mini | 微服務(wù)單應(yīng)用 + 前后端分離 | v6.x-mini | jar,war | nutzboot + shiro | nuxt + vue + elementUI | Chrome,IE10+ |
| NutzWk v5.x-zookeeper | 微服務(wù)分布式 + 前端混合模式 | v5.x-zookeeper | jar,war | nutzboot + dubbo + zookeeper + shiro + beetl | vue + elementUI + jquery 或 jquery + bootstrap 兩個(gè)版本 | Chrome,IE9+ |
| NutzWk v5.x-nacos | 微服務(wù)分布式 + 前端混合模式 | v5.x-nacos | jar,war | nutzboot + dubbo + nacos + shiro + beetl | vue + elementUI + jquery 或 jquery + bootstrap 兩個(gè)版本 | Chrome,IE9+ |
| NutzWk v5.x-mini | 微服務(wù)單應(yīng)用 + 前端混合模式 | v5.x-mini | jar,war | nutzboot + shiro + beetl | vue + elementUI + jquery | Chrome,IE9+ |
| NutzWk v4.x | 模塊化單應(yīng)用 | v4.x | war | nutz + shiro + beetl | jquery + bootstrap | Chrome,IE7 + |
| NutzWk v3.x | 單應(yīng)用 | v3.x | war | nutz + shiro + beetl 或 nutz + shiro + velocity 兩個(gè)版本 | jquery + bootstrap | Chrome,IE7 + |
| NutzWk v1.x | 單應(yīng)用 | v1.x | war | nutz + shiro + velocity | jquery + easyUI | IE6 + |
本版說明(v5.x-zookeeper)
NutzWk 5.x-zookeeper 運(yùn)行必備環(huán)境:
- JDK 8 181 + 或 OpenJDK 11 +
- Maven 3.5.3 +
- Redis 4.0.8 +
- MySql 5.7 + 或 MariaDB、Oracle、SqlServer、達(dá)夢(mèng)等
- Zookeeper 3.4.11 +
NutzWk 5.x-zookeeper 技術(shù)選型:
- 核心框架:NutzBoot、Nutz
- 分布式框架:Dubbo(RPC)、Zookeeper(注冊(cè)中心)、Sentinel(流控-可選)、Seata(分布式事務(wù)-可選)
- 安全框架:Shiro、JWT
- 任務(wù)調(diào)度:Quartz
- 數(shù)據(jù)庫(kù)連接池:Druid
- 支持?jǐn)?shù)據(jù)庫(kù):MySql、MariaDB、Oracle、SqlServer、達(dá)夢(mèng)等
- 緩存框架:Redis、Ehcache、Wkcache
- 訂閱發(fā)布:Redis
- 文件系統(tǒng):Ftp(默認(rèn))、FastDfs等
- 可擴(kuò)展功能:WebSocket-Nutz、消息隊(duì)列-Rabbitmq、搜索引擎-Elasticsearch、工作流-Activiti等
- 前端框架:Bootstrap + JQuery 或 Vue + Element (推薦)
NutzWk 5.x 使用說明:
| 名稱 | 介紹 |
|---|---|
| wk-framework | 一些基類及公共方法的封裝 |
| wk-model | POJO類,枚舉類,常量類 |
| wk-common | 業(yè)務(wù)接口類 |
| wk-nb-service-sys | 系統(tǒng)管理模塊,dubbo服務(wù)端,NB項(xiàng)目,權(quán)限體系 |
| wk-nb-service-cms | CMS管理模塊,dubbo服務(wù)端,NB項(xiàng)目,ig及wkcache演示 |
| wk-nb-service-wx | 微信管理模塊,dubbo服務(wù)端,NB項(xiàng)目,微信及微信支付功能演示 |
| wk-nb-task | 定時(shí)任務(wù)模塊,dubbo服務(wù)端,NB項(xiàng)目,支持quartz集群 |
| wk-nb-web-api | API JWT Token示例,dubbo消費(fèi)端,NB項(xiàng)目,Mvc |
| wk-nb-web-platform | WEB管理后臺(tái)jQuery+Bootstrap版,dubbo消費(fèi)端,NB項(xiàng)目,Mvc |
| wk-nb-web-vue | WEB管理后臺(tái)Vue.js混合版,dubbo消費(fèi)端,NB項(xiàng)目,Mvc |
- 確保 MySql、Redis、Zookeeper 默認(rèn)端口配置并已啟動(dòng)好
- MySql 創(chuàng)建名為
nutzwk_nb的空數(shù)據(jù)庫(kù),在每個(gè)NB(nutzboot縮寫)模塊啟動(dòng)時(shí)會(huì)自動(dòng)建表,同時(shí)初始化數(shù)據(jù) - 項(xiàng)目根目錄執(zhí)行
mvn clean install -Dmaven.test.skip=true - 在單個(gè)NB模塊下執(zhí)行
mvn compile nutzboot:run運(yùn)行或mvn package nutzboot:shade生成可執(zhí)行jar包 - 在項(xiàng)目根目錄執(zhí)行
mvn -Dnutzboot.dst=E:/dst clean package nutzboot:shade可將所有可運(yùn)行jar包生成到指定位置 - 啟動(dòng)順序是 sys --> cms[可選] --> wx[可選] --> task[可選] --> web-platform 或 web-vue --> web-api[可選]
- 正常啟動(dòng)后訪問
http://127.0.0.1:8080/sysadmin用戶名 superadmin 密碼 1 - 框架詳細(xì)介紹及代碼生成器的使用等內(nèi)容請(qǐng)仔細(xì)閱讀 wk-wiki
- 若覺得項(xiàng)目復(fù)雜上手較難,可以從最簡(jiǎn)單的一個(gè)NB項(xiàng)目學(xué)起 wizzer.cn 源碼
項(xiàng)目部署
- 內(nèi)置配置文件啟動(dòng)
nohup java -jar wk-nb-service-sys.jar &帶參數(shù)-Dnutz.profiles.active=prod可加載 application-prod.properties 文件 - 外置配置文件啟動(dòng)
nohup java -Dnutz.boot.configure.properties.dir=/data/nutzwk/sys/ -jar wk-nb-service-sys.jar &此時(shí)加載文件夾所有 *.properties 配置文件 - 生產(chǎn)環(huán)境可以使用 PythonWk 進(jìn)行部署,登陸后臺(tái)運(yùn)維中心可在線更新jar包及配置文件等
鳴謝
評(píng)論
圖片
表情
