Firefly1750 / budwk

WK系列开发框架-V6 Java NutzBoot 微服务(单应用/分布式) + Vue Element 前后端分离

Home Page:https://budwk.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BudWk 开源企业级Java Web开发框架

NutzBoot 版本(下文简称NB)

Gitee GVP GitHub release License PowerByNutz

https://demo.budwk.com V6演示地址

https://nutzwk.wizzer.cn V5演示地址

https://budwk.com/donation 赞助者

前言

本框架自2012年开始用于商业项目,至今已服务于全国各地公司大大小小数千个项目,行业涉及政务、电商、物联网等,随着个人经验积累及从事行业的不同分别发布了1.x至6.x多个版本,您可以根据项目规模选择不同版本。本项目案例众多,省厅级项目、市级平台、大数据项目、电商平台、物联网平台等等。

我们有强大的后援 —— Nutz 社区支持 https://nutz.cn 及 Nutz 使用手册 https://nutzam.com/core/nutz_preface.html

QQ交流群

  • 1群: 68428921(已满)
  • 2群: 24457628

版本说明

  • v6.x - nacos 微服务分布式版本 前后端分离,前端 nuxt + vue + elementUI
  • v6.x - zookeeper 微服务分布式版本 前后端分离,前端 nuxt + vue + elementUI
  • v6.x - mini 微服务单应用版本(一个 jar 或 war 包) 前后端分离,前端 nuxt + vue + elementUI
  • v5.x - zookeeper 微服务分布式版本 前端 jQuery + bootsrtap 或 jQuery + vue.js + elementUI
  • v5.x - mini 微服务单应用版本(一个 jar 或 war 包) 前端 jQuery + bootsrtap 或 jQuery + vue.js + elementUI
  • v4.x - 单应用版本(war 包) 前端 jQuery + bootsrtap
  • v3.x - 单应用版本(war 包) 前端 jQuery + bootsrtap
  • v1.x - 单应用版本(war 包) 前端 jQuery + easyUI
版本名称 版本特点 版本地址 运行方式 后端主要技术 前端主要技术 浏览器兼容性
BudWk v6.x-nacos 微服务分布式 + 前后端分离 v6.x-nacos jar,war nutzboot + dubbo + nacos + shiro nuxt + vue + elementUI Chrome,Edge,IE12+
BudWk v6.x-zookeeper 微服务分布式 + 前后端分离 v6.x-zookeeper jar,war nutzboot + dubbo + zookeeper + shiro nuxt + vue + elementUI Chrome,Edge,IE12+
BudWk v6.x-mini 微服务单应用 + 前后端分离 v6.x-mini jar,war nutzboot + shiro nuxt + vue + elementUI Chrome,Edge,IE12+
NutzWk v5.x 微服务分布式 + 前端混合模式 v5.x jar,war nutzboot + dubbo + shiro + beetl vue + elementUI + jquery 或 jquery + bootstrap 两个版本 Chrome,IE9+
NutzWk v5.x-mini 微服务单应用 + 前端混合模式 v5.x-mini jar,war nutzboot + shiro + beetl vue + elementUI + jquery Chrome,IE9+
NutzWk v4.x 模块化单应用 v4.x war nutz + shiro + beetl jquery + bootstrap Chrome,IE7 +
NutzWk v3.x 单应用 v3.x war nutz + shiro + beetl 或 velocity 两个版本 jquery + bootstrap Chrome,IE7 +
NutzWk v1.x 单应用 v1.x war nutz + shiro + velocity jquery + easyUI IE6 +

本版说明(BudWk v6.x)

运行环境

  • JDK 8 181 + 或 OpenJDK 11 +
  • Redis 4.0.8 +
  • MySql 5.7 + 或 MariaDB、Oracle、SqlServer、达梦等
  • Zookeeper 3.4.13 +

开发工具

  • IntelliJ IDEA
  • Visual Studio Code
  • Node 12.13.0 +
  • Maven 3.5.3 +
  • Git

目录结构

模块名称 介绍
wk-code-generator 代码生成器
wk-common 框架公共模块,工具类,枚举类,常量类等
wk-module POJO类,接口类
wk-nb-service-sys 系统管理模块,dubbo服务端,组织架构/权限管理等
wk-nb-service-cms CMS管理模块,dubbo服务端,ig主键生成器及wkcache方法缓存演示
wk-nb-service-wx 微信管理模块,dubbo服务端,微信及微信支付功能演示
wk-nb-service-slog SLog日志服务,dubbo服务端
wk-nb-task 定时任务模块,dubbo服务端,支持基于数据库的集群
wk-nb-web-admin WEB管理后台API服务,dubbo消费端,Mvc Http API
wk-nb-web-api-daemon 应用管理服务守护API,dubbo消费端,Mvc Http API
wk-nb-web-api-open API服务 Sign/JWT Token示例,dubbo消费端,Mvc Http API
wk-nb-web-app-demo APP/小程序服务端示例,dubbo消费端,Mvc Http API

技术选型

后端技术

技术 名称 官网
Nutz JavaEE应用程序框架 https://nutzam.com
NutzBoot 微服务开发框架 https://github.com/nutzam/nutzboot
Apache Shiro 安全框架 https://shiro.apache.org
Druid 数据库连接池 https://github.com/alibaba/druid
ZooKeeper 分布式协调服务 https://zookeeper.apache.org
Dubbo 分布式服务框架 https://dubbo.apache.org
Redis 分布式缓存数据库 https://redis.io
Quartz 作业调度框架 https://www.quartz-scheduler.org
Ehcache 进程内缓存框架 https://www.ehcache.org
Maven 项目构建管理 https://maven.apache.org

前端技术

技术 名称 官网
Vue.js MVVM框架 https://vuejs.org
Nuxt.js Vue通用应用框架 https://nuxtjs.org
Element 基于Vue的UI框架 https://element.eleme.io
Font-awesome 字体图标 https://fontawesome.com

后端开发指南

  •   确保 MySql、Redis、Zookeeper 默认端口配置并已启动好
  •   MySql 创建名为 budwk_v6 的空数据库,在每个微服务模块启动时会自动建表,同时初始化数据
  •   在单个NB模块下执行 mvn compile nutzboot:run 运行或 mvn package nutzboot:shade 生成可执行jar包
  •   在项目根目录执行 mvn -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -Dnutzboot.dst=E:/dst clean package nutzboot:shade 可将所有可运行jar包生成到指定位置
  •   启动顺序是 sys --> slog --> cms[可选] --> wx[可选] --> task[可选] --> web-admin --> wk-vue-admin[前端]
  •   正常启动后访问 http://127.0.0.1:9527 用户名 superadmin 密码 1
  •   若觉得项目复杂上手较难,可以从最简单的一个NB项目学起 budwk.com 源码

前端开发指南

  • nuxt + vue + elementUI 源码暂未发布

API文档

  •   基于 Swagger 2.1.1 (OpenAPI v3)
  •   web-admin 项目启动时会自动生成API文档
  •   访问文档 http://127.0.0.1:9527/swagger
  •   导出文档 http://127.0.0.1:9527/swagger/swagger.jsonhttp://127.0.0.1:9527/swagger/swagger.yaml
  •   方法上必须加 @GET @POST @PUT @DELETE 注解和 @Operation 才会被扫描
  •   路径参数/查询参数(非表单参数)定义时 requestBody = @RequestBody(content = @Content()) 不可缺少,否则 swagger 输出的格式不正确,可能是其bug
  •   POST表单参数,使用 @ApiFormParams 来定义,同时支持单个字段定义和类对象映射
  •   原路径参数中的 ? 请使用 {变量名} 代替,如 原 @At("/test/?") 改为 @At("/test/{id}")

项目部署

  •   内置配置文件启动 nohup java -jar wk-nb-service-sys.jar & 带参数 -Dnutz.profiles.active=prod 可加载 application-prod.properties 文件
  •   外置配置文件启动 nohup java -Dnutz.boot.configure.properties.dir=/data/nutzwk/sys/ -jar wk-nb-service-sys.jar & 此时加载文件夹所有 *.properties 配置文件
  •   生产环境可以使用 budwk-daemon-python 进行部署,登陆后台运维中心可在线更新jar包及配置文件等

鸣谢

关于

  •   提供付费的培训服务,含源码解析、设计思路、疑难解答、项目辅导等
  •   联系方式 QQ:11624317 微信:wizzer
  •   欢迎打赏,以资鼓励 https://budwk.com/donation

About

WK系列开发框架-V6 Java NutzBoot 微服务(单应用/分布式) + Vue Element 前后端分离

https://budwk.com

License:Apache License 2.0


Languages

Language:Java 99.0%Language:TSQL 1.0%Language:HTML 0.1%