推荐一个java企业级快速开发平台-JeeSite


前言

大家好,今天为大家推荐一个java 企业级系统快速开发平台,JeeSite。它是一个企业级快速开发解决方案,开发模式为前后端分离开发,后端基于Spring Boot框架,前端则使用Vue3、Vite、Ant Design Vue等技术栈。


一、项目介绍

JeeSite 快速开发平台,不仅仅是一个后台开发框架,它是一个企业级快速开发解决方案,后端基于经典组合 Spring Boot、Shiro、MyBatis,前端采用分离版 Vue3、Vite、Ant Design Vue、TypeScript、Vben Admin 最先进技术栈。
系统提供在线数据源管理、数据表建模、代码生成等功能,可自动创建业务模块代码工程和微服务模块代码工程,自动生成前端代码和后端代码;包括核心功能模块如:组织机构、用户、角色、岗位、管理员、权限审计、菜单及按钮权限、数据权限、模块管理、系统参数、字典管理、系统监控、数据监控等;扩展功能如:工作流引擎、内容管理、消息推送、单点登录、第三方登录、在线作业调度、对象存储、可视化数据大屏、报表设计器、在线文件预览、国际化、全文检索、统一认证服务等。
本平台采用松耦合设计,微内核和插件架构,模块增减便捷,支持集群,支持 SaaS 架构,支持读写分离、分库分表、Spring Cloud 微服务架构;并内置了众多账号安全设置、密码策略、系统访问限制等安全解决方案,支持等保评测。支持国产化软硬件环境,如国产芯片、操作系统、数据库、中间件、国密算法等。

二、技术选型

基本技术框架

  • 主框架:Spring Boot 2.7、Spring Framework 5.3、Apache Shiro 1.12、J2Cache
  • 持久层:Apache MyBatis 3.5、Hibernate Validator 6.2、Alibaba Druid 1.2
  • 分离前端版:Node.js、TypeScript、Vue3、Vite、Ant Design Vue、Vue Vben Admin
  • 工作流引擎:Flowable 6.6、符合 BPMN 规范、在线流程设计器、中国式流程、退回、撤回、自由流

其他技术框架

  • 日志框架:Logback 1.2
  • 对象序列化:FST 2.57 / 3.0
  • JSON 序列化:Jackson 2.x
  • 分布式任务调度:Quartz 2.3
  • Office 工具:Apache POI 5.x
  • 基础工具类库:Apache Commons
  • 工作流引擎框架:Flowable 6.6 / 7.0 (可选组件)
  • 多租户 Saas 架构:表共享、独立模式、独立库方式
  • 分库分表:ShardingSphere

分布式技术框架

  • 分布式系统套件版本:Spring Cloud 2022.0.4 + Alibaba 2022/2023
  • 服务治理注册与发现:Spring Cloud Eureka / Consul / Nacos 2.2
  • 分布式统一配置中心:Spring Cloud Config / Nacos 2.2
  • 网关路由代理调用:Spring Cloud Gateway (动态网关)
  • 声明式服务调用:Spring Cloud OpenFeign
  • 客户端负载均衡:Spring Cloud LoadBalancer
  • 阿里流量防卫兵:Sentinel 1.8 (限流、熔断降级、负载保护)
  • 分布式事务框架:Seata 1.6 (可选组件)
  • 分布式链路追踪:Zipkin / SkyWalking (可选组件)

三、项目特点

  • 系统以 Spring Boot 2 为基础,Maven 多项目依赖,模块分项目,松耦合,方便模块升级、增减模块。
  • 具有模块化的数据库自动升级程序,当升级模块代码时,同时自动更新对应模块的数据库升级 SQL 脚本。
  • 功能授权模块灵活,按钮级别,支持 单点登录、第三方登录,丰富的扩展模块,简单 yml 配置即可实现。
  • 支持多数据源,深入 MyBatis 底层事务,从 DAO 层切换多数据源,方便快捷,彻底的解决必须从 Controller 里切换数据源的麻烦。并且支持,分布式事务,跨应用级别的事务,简单 yml 配置实现。
  • 代码生成工具:界面化操作简单,可同时生成前端代码和后端代码,可自动创建业务模块工程和 Cloud 微服务模块工程,支持多数据源(常见模板包括:单表、主子表、树表、Vue模板、Cloud微服务等模板,支持自由扩展通用业务的代码生成模板)
  • 缓存监控管理:提供管理界面,采用 J2Cache 二级缓存技术(Caffeine + Redis)支持快速切换为 Redis 缓存,支持集群 Session 和系统缓存共享,二级缓存技术有效的解决 TCP 网络速率瓶颈。
  • 服务器状态监控:查看 CPU,内存,JVM,磁盘信息等。方便运维人员分析系统负载情况,可增加预警。
  • 会话过期时间管理:支持不同的设备采用不同的过期时间;支持单独设定匿名会话超时,有效的减轻服务压力。
  • 支持 SaaS 多租户模式:每个租户数据通过 corp_code 字段进行分离,数据互不干扰、同时 3 种方式,包括:共享表、分模式、分库 等,并支持字典等基础数据租户共享。
  • 支持 Spring Cloud 架构:分布式,微服务,最小化内核,统一配置中心,统一授权认证中心
  • 树结构的独特设计:提高运维、数据分析、优化查询。
  • 多用户类型支持:员工、会员、专家、往来单位等。
  • 丰富的内置功能:用户权限、数据权限、系统管理。
  • 定时任务在线配置:界面化生成 cron 表达式,支持集群环境自适应,调度日志监控
    BPM 业务流程模块:基于 Flowable,中国式工作流、支持退回、自由流、会签等高级应用
  • 在线预览系统:文件管理、在线预览图片、文档、文本、视频等格式。
  • 消息推送:APP、短信、邮件、微信,您无需了解消息是怎么发送出去的,只需了解消息发送接口即可。
  • 多语言支持:页面标签、字典菜单、数据国际化(中文、英语、日语等)中文key方便后期维护。
  • 集成云存储:已支持 阿里云OSS、腾讯云COS、七牛云、MinIO,并提供接口灵活扩展其它存储。
  • 可视化数据大屏:提供界面设计器,通过拖拽方式,快速实现可视化数据大屏,大屏轮播等
    方便与第三方系统对接:提供移动端接口、第三方系统调用接口,轻松实现授权认证、数据调用(支持 json、xml 等格式)。
  • 文件上传组件:支持分片上传,断点续传下载,上传文档排序、预览(自动化浏览器支持格式转换)、图片压缩等。
  • 访问日志:系统访问留痕的一个日志记录,根据菜单配置规则,自动记录,无需写注解的麻烦
    表单修改前后的历史留痕:差异数据分析,新值和旧值比较,较大文本展示差异数据结果。

四、功能介绍

  • 用户管理:员工用户的维护、停用启用、查询、分配角色、分配数据权限、重置密码等。
  • 机构管理:对组织机构或部门进行的系统化、层级化的维护与管理。
  • 公司管理:可绑定归属区域(行政区划),可绑定相应的组织机构(内部组织部门)。
  • 角色管理:角色维护、授权功能菜单、授权数据权限、快速分配用户。
  • 菜单管理:用于配置系统菜单和操作权限。
  • 参数管理:支持动态修改系统配置参数。
  • 字典管理:字典分类管理、字典数据管理。
  • 行政区域管理:采用多级维护,主要包括:国家、省、市、县。
  • 日志管理:日志接入、修改日志、查询日志、登录登出。
  • 数据监控:监控数据源信息、SQL执行效能统计、高并发下分析最慢的SQl有助于优化系统、URI访问统计。
  • 缓存监控:对系统的缓存查询,查看、清理等操作。
  • 服务器监控:监控服务器硬件资源使用情况。
  • 定时任务管理:界面化在线配置,任务调度信息,界面化配置Cron表达式。
  • 代码生成工具:提供快速的增删、改、查、及个性化通用功能的代码生成(包括后端和前端代码)。

在这里插入图片描述
在这里插入图片描述

五、源码下载

前端:https://gitee.com/thinkgem/jeesite-vue
后端:https://gitee.com/thinkgem/jeesite5
分布式后端:https://gitee.com/thinkgem/jeesite-cloud

六、官方文档

https://jeesite.com/


总结

本文推荐了JeeSite开源项目,这是一个专注于企业级快速开发的开源项目。感谢开发者为开源事业做出的贡献。

底层架构优化 Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。 模块化数据库自动升级程序,当模块升级代码需要更新时,自动对应版本执行SQL更新。 授权模块,支持CAS单点登录,简单properties配置即可,不用再写很多的xml。 支持多数据源,简单properties配置即可实现,为了安全性吧,暂不提供界面维护数据源,不存数据库。 数据表主键优化,如分类科目表,采用有意义的主键方式,让客户去自定义,减少后期运维维护成本。 实体@Table注解配置 a. 自动生成增删改通用SQL,不需要在mapper.xml里写重复又费时的SQL了,减少开发和后期维护成本。b. 这里所有定义@Column均放到类头,而不是分布到各个属性或方法上,这是如下原因:c. 一是,放到表头的好处是,可一览熟知该实体类对应的物理表结构是什么样,开发者思维从物理表结构到对象的映射转换,都是基于物理表结构的,@Column指定物理字段名,而不是指定类上的属性名,也是这个原因;d. 二是,生成的SQL和查询条件,列的排列顺序,可方便核查定义,优化查询;e. 三是,方便@JoinTable关联表和其它扩展信息的设置,如果分布到类的属性上就不太好管理列。 用户数据权限优化,不仅仅是角色,颗粒度细化到每个人员的身上,可自定义第三方数据权限,不仅仅是部门和公司,你可以扩展,如:地区,栏目分类,商品分类。 支持SAAS多租户模式,每个租户数据通过corp_code字段进行分离,数据互不干扰。 缓存EhCache统一管理,支持快速切换为Redis缓存,集群Session缓存共享。 安全方面优化 原有JeeSite1.2安全选项及安全考虑保留。 配置文件数据库密码及其它安全密钥自动加密。 所有请求参数获取,均通过XSS跨站脚本过滤方法。 乐观锁简单实现,必要情况下使用,提高数据安全性。 通过properties简单配置,限制是否允许JS跨域操作。 身份认证 a. 登录失败多少次后显示验证码b. 登录失败多少次后锁定账号及锁定账号时间c. 登录账号密码可加密后再提交后台d. 同设备是否允许账号多地登录 密码策略 a. 初始密码修改策略,提醒或强制用户修改初始密码。b. 账号密码修改策略,多长时间内未修改,则提醒或强制修改密码。c. 账号密码安全等级限制策略,很弱密码,弱密码,安全密码,很安全密码 安全审计(后期) a. 查询未修改初始密码的账号,使用简单密码的,定期未修改的,长期未登录的。b. 权限审计,按登录账号查询菜单和权限,按菜单和权限查询登录账号 用户界面优化 平面化界面设计,精细,更加美观、高端、大气、上档次。 支持手机或平板访问,响应式样式,根据屏幕分辨率自适应控件布局。 无刷新设计,除了进入功能页面和新页面,其它情况下全部采用Ajax交互,优化体验和性能。 支持一件换肤,只需在properties里修改下主题名称即可快速切换整个UI的风格,不仅仅是色调和样式,布局也可改变。支持自定义扩展项目独有的主题样式风格。 优化用户功能操作,大众思维模式,功能清晰,更加贴切和友好。 前端开发优化 采用当前比较流行的Beetl模板引擎,它的优点很多,大家可自行查阅看看,这里不多说了。 封装Beetl UI通用组件,简单实现基本表单控件、树选择,列表选择,文件上传,等等很多,总之是简化开发。 数据表格jqGrid组件封装,自动完成分页、排序、列宽、多表头、子表、编辑表、等。 功能及组件优化 工具类Utils封装优化,应有尽有,包分类层次分明,独立工具类项目。 强大的Excel导出导入工具封装,支持大数据量,注解定义,简单配置即可实现。 Job作业调度,界面化在线管理,可新增,编辑、删除、暂停、恢复、运行一次等操作 在线查询在线人员,强踢在线账号。 代码生成工具操作简化及优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值