项目介绍

JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!

当前版本:v3.4.0 | 2022-08-06

源码下载

  • https://github.com/jeecgboot/jeecg-boot
  • https://gitee.com/jeecg/jeecg-boot

升级日志

微服务重构专项升级,简化优化微服务架构,让微服务使用更加方便。

主要改造点

  • 升级Spring Cloud Alibaba 2021.0.1.0,使用 spring.config.import 方式引入nacos配置
  • 拆分jeecg-boot-starter出来,使用独立项目维护 jeecg-boot-starter项目新地址
  • 升级微服务3.4+版本对应文档
  • 本次只升级后台版本号,暂时未更新前端

优化点解决

  • 1 解决原微服务模块,自定义nacos配置不方便
  • 2 解决原微服务模块,自定义数据源不方便
  • 3 nacos配置下放到每个模块,加上import方式,集成更灵活
  • 4 解决切换微服务不方便,要手工改很多东西
  • 5 原微服务结构不清晰,有点乱
  • 6 存在本地配置和nacos冲突问题
  • 7 Dockerfile存在缺陷
  • 8 gateway走自己的nacos配置,原来太冗余太重
  • 9 jeecg-boot-starter拆分出来,让项目更简单,降低入门难度
  • 10 默认不引入jeecg-cloud-test示例项目,降低入门难度
  • 11 文档升级,各个功能集成更加简单(import带来的好处)

微服务文档

  • 单体升级成微服务
  • 使用archetype生成微服务模块
  • Docker镜像启动微服务项目
  • Gateway网关高级配置
  • 分库分表ShardingSphere用法
  • 微服务模块配置独立的数据源和Nacos配置

微服务技术栈

  • 基础框架:Spring Boot 2.6.6

  • 微服务框架: Spring Cloud Alibaba 2021.0.1.0

  • 持久层框架:MybatisPlus 3.5.1

  • 报表工具: JimuReport 1.5.2

  • 安全框架:Apache Shiro 1.8.0,Jwt 3.11.0

  • 微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking

  • 数据库连接池:阿里巴巴Druid 1.1.22

  • 日志打印:logback

  • 其他:autopoi, fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。

微服务解决方案

1、服务注册和发现 Nacos

2、统一配置中心 Nacos

3、路由网关 gateway(三种加载方式)

4、分布式 http feign

5、熔断降级限流 Sentinel

6、分布式文件 Minio、阿里OSS

7、统一权限控制 JWT + Shiro

8、服务监控 SpringBootAdmin

9、链路跟踪 Skywalking 参考文档

10、消息中间件 RabbitMQ

11、分布式任务 xxl-job

12、分布式事务 Seata

13、分布式日志 elk + kafka

14、支持 docker-compose、k8s、jenkins

15、CAS 单点登录

16、路由限流

微服务架构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kk5cQgtc-1660196365007)(https://jeecgos.oss-cn-beijing.aliyuncs.com/files/jeecgboot_springcloud2022.png “在这里输入图片标题”)]

Jeecg Boot 产品功能蓝图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D4CpW9Bb-1660196365009)(https://jeecgos.oss-cn-beijing.aliyuncs.com/upload/test/Jeecg-Boot-lantu202005_1590912449914.jpg “在这里输入图片标题”)]

为什么选择 JeecgBoot?

开源界“小普元”超越传统商业平台。引领低代码开发模式(OnlineCoding-> 代码生成器 -> 手工MERGE),低代码开发同时又支持灵活编码, 可以帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高开发效率,节省成本,同时又不失灵活性。

  • 采用最新主流前后分离框架(SpringBoot+Mybatis-plus+Ant-Design+Vue),容易上手; 代码生成器依赖性低,灵活的扩展能力,可灵活实现二次开发;
  • 开发效率很高,采用代码生成器,单表数据模型和一对多(父子表)、树列表等数据模型,增删改查功能自动生成,菜单配置直接使用(前端代码和后端代码都一键生成);
  • 代码生成器提供强大模板机制,支持自定义模板风格。目前提供四套风格模板(单表两套、一对多两套)
  • 封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能。强大的权限机制,支持访问授权、按钮权限、数据权限、表单权限等
  • 零代码在线开发能力,在线配置表单、在线配置报表、在线配置图表、在线设计表单
  • 常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel导入导出等),基本满足80%项目需求
  • 简易Excel导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能
  • 集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word等报表;
  • 采用前后分离技术,页面UI精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等
  • 查询过滤器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询);
  • 数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段
  • 在线配置报表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据等报表)
  • 页面校验自动生成(必须输入、数字校验、金额校验、时间空间等);
  • 提供单点登录CAS集成方案,项目中已经提供完善的对接代码
  • 表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件
  • 专业接口对接机制,统一采用restful接口方式,集成swagger-ui在线接口文档,Jwt token安全验证,方便客户端对接
  • 接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制
  • 高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史
  • 提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL监控)
  • 消息中心(支持短信、邮件、微信推送等等)
  • 集成Websocket消息通知机制
  • 提供APP发布方案:
  • 支持多语言,提供国际化方案;
  • 数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化
  • 平台UI强大,实现了移动自适应
  • 平台首页风格,提供多种组合模式,支持自定义风格
  • 提供简单易用的打印插件,支持谷歌、IE浏览器等各种浏览器
  • 示例代码丰富,提供很多学习案例参考
  • 采用maven分模块开发方式
  • 支持菜单动态路由
  • 权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制)

系统截图

PC端

手机端

PAD端

报表效果

大屏效果

欢迎吐槽,欢迎star~