[系统] 开源通用系统框架(Java)

千千寰宇 / 2024-03-04 / 原文

0 序

  • 本文档用于技术选型。

1 代码级通用框架

1.0 后端:Servlet + JSP + JDBC

1.1 后端:Structs(2) + Spring + Hibernate

  • Structs(2) 【建议废弃】
  • https://struts.apache.org/
  • Spring
  • https://spring.io/
    spring bot 2.7.18 内置的 spring 版本为 : 5.3.31 【推荐】

  • Hibernate
  • https://hibernate.org/
  • Hibernate ORM | Hibernate Validator | ...

1.2 后端:Spring MVC + Spring + Spring JPA/MyBatis(Plus)

  • Spring MVC
  • https://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/mvc.html
  • https://docs.spring.io/spring-framework/docs/2.7.18/spring-framework-reference/html/mvc.html
    spring bot 2.7.18 内置的 spring-webmvc 版本为 : 5.3.31 【推荐】

1.2 后端:Spring Boot

  • spring boot
  • https://spring.io/projects/spring-boot/
  • https://spring.io/quickstart
  • https://start.spring.io/
  • https://github.com/spring-projects
  • https://github.com/spring-projects/spring-boot

Spring Boot 2.x : java 8 + 【推荐】

  • https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/ 【推荐版本】 spring boot 2.7.18
  • https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/getting-started.html#getting-started
  • https://mvnrepository.com/artifact/org.springframework.boot/spring-boot/2.7.18
<!-- https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/getting-started.html#getting-started -->
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.7.18</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Spring Boot 3.x : java 17 +

  • https://docs.spring.io/spring-boot/docs/3.3.x/reference/html/
  • https://docs.spring.io/spring-boot/docs/3.3.x/reference/html/getting-started.html#getting-started.system-requirements

1.3 后端: Spring Cloud Alibaba 体系(Nacos / Gateway / ...)

  • Spring Cloud
  • https://spring.io/projects/spring-cloud

1.2 前端:jQuery/Vue + Bootstrap/Admin-LTE/EasyUI/

  • jQuery : Javascript Framework
  • https://jquery.com/
  • https://plugins.jquery.com/
  • https://www.w3schools.com/jquery/ (W3C School,第三方)
  • Vue : Javascript Framework
  • https://vuejs.org/
    sign : The Progressive JavaScript Framework
  • Easy UI : 组件级UI框架
  • https://www.jeasyui.net/
easyui是一种基于jQuery、Angular.、Vue和React的用户界面插件集合。
easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。
使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义用户界面。
easyui是个完美支持HTML5网页的完整框架。
easyui节省您网页开发的时间和规模。
easyui很简单但功能强大的。
  • Bootstrap : 组件级UI框架
  • https://getbootstrap.com/docs/5.1/getting-started/introduction/
  • https://github.com/twbs
  • https://www.w3schools.com/bootstrap/ (W3C School,第三方)
  • https://www.bootcss.com/ (Bootstrap中文网,第三方)
  • Material Design UI : 组件级UI框架

Material Design(材料设计语言),是由Google推出的设计语言,这种设计语言旨在为手机、平板电脑、台式机和“其他平台”提供更一致、更广泛的“外观和感觉”。

  • https://m3.material.io/
  • Admin LTE : 用户界面级UI框架
  • https://adminlte.io/
  • https://adminlte.io/themes/v3/

1.3 前端: Uni App Framework

  • Uni App Framework
  • https://uniapp.dcloud.net.cn/
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

DCloud公司拥有900万开发者、数百万应用、12亿手机端月活用户、数千款uni-app插件、70+微信/qq群。阿里小程序工具官方内置uni-app(详见),腾讯课堂官方为uni-app录制培训课程(详见),开发者可以放心选择。

uni-app在手,做啥都不愁。即使不跨端,uni-app也是更好的小程序开发框架(详见)、更好的App跨平台框架、更方便的H5开发框架。不管领导安排什么样的项目,你都可以快速交付,不需要转换开发思维、不需要更改开发习惯。

2 系统级框架

Java 优质开源实战项目 - Java Guide

2.1 通用:Ruoyi/若依

  • Ruoyi/若依 : 13.3k fork, 16.5k star
  • https://www.ruoyi.vip/
  • https://gitee.com/y_project/RuoYi-Cloud

2.2 通用: Snowy/小诺

  • 小诺
  • 国内首个国密前后端分离快速开发平台
  • 集成国密加解密插件,在前后分离框架中,真正做到:前后分离“密”不可分;同时实现国产化机型、中间件、数据库适配
  • https://xiaonuo.vip/
  • https://gitee.com/xiaonuobase/snowy
  • https://space.bilibili.com/50101698/channel/collectiondetail?sid=739071

  • 小诺开源团队下Snowy系列目前一共有五款产品:
产品名称 架构 源码地址 备注
Snowy 前后端分离(2.X) https://gitee.com/xiaonuobase/snowy Vue3+AntDesignVue3 + Vite+SpringBoot+Mp+HuTool+SaToken; 2.5k fork , 7.8k star
Snowy-Layui 单体不分离(1.X,不再更新) https://gitee.com/xiaonuobase/snowy-layui 基于SpringBoot+Layui+Easyweb开发的Java全新RBAC权限管理系统,单体项目; 544 fork , 1.2k star
Snowy-Cloud 微服务前后分离(2.X) https://gitee.com/xiaonuobase/snowy-cloud SpringCloud+SpringBoot+MybatisPlus+AntDesignVue+Vite;726 fork , 1.6k star
Snowy-Solon 前后端分离(Solon版) https://gitee.com/xiaonuoadmin/snowy-solon 脱离Spring生态,Solon+MybatisPlus+SaToken+EasyTrans;108 fork, 272 star
Snowy-Mobile uniapp移动端 https://gitee.com/xiaonuoadmin/snowy-mobile 147 fork / 176 star; 基于Uniapp开发,可搭配Snowy单体后端或Snowy-Cloud微服务后端使用
snowy
  |-snowy-admin-web == 前端
    |-public == 基础静态文件
    |-src == 前端源代码
      |-api == API接口转发
      |-assets == 静态文件
      |-components == VUE组件
      |-config == 基础配置
      |-layout == 基础布局
      |-locales == 多语言配置
      |-router == 基础路由配置
      |-store == Pinia缓存配置
      |-style == 样式风格配置
      |-utils == 工具类
      |-views == 所有视图界面
  |-snowy-common == 基础通用模块
  |-snowy-plugin == 插件包
    |-snowy-plugin-auth == 登录鉴权插件
    |-snowy-plugin-biz == 业务功能插件
    |-snowy-plugin-client == C端功能插件
    |-snowy-plugin-dev == 开发工具插件
    |-snowy-plugin-gen == 代码生成插件
    |-snowy-plugin-mobile == 移动端管理插件
    |-snowy-plugin-sys == 系统功能插件
  |-snowy-plugin-api == 插件api包
    |-snowy-plugin-auth-api == 登录鉴权插件api接口
    |-snowy-plugin-biz-api == 业务功能插件api接口
    |-snowy-plugin-client-api == C端功能插件api接口
    |-snowy-plugin-dev-api == 开发工具插件api接口
    |-snowy-plugin-gen == 代码生成插件api接口
    |-snowy-plugin-mobile == 移动端管理插件api接口
    |-snowy-plugin-sys-api == 系统功能插件api接口
  |-snowy-web-app == 主启动模块

2.3 商城: mall 【推荐】

  • mall : 74.4k star / 28k fork

mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。
前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。
后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

  • https://github.com/macrozheng/mall

2.4 商城:mall-swarm

  • mall-swarm : 5k fork / 11.2k star

mall-swarm是一套微服务商城系统,采用了 Spring Cloud 2021 & Alibaba、Spring Boot 2.7、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes

  • https://github.com/macrozheng/mall-swarm

2.5 权限:renren-security 【推荐】

  • renren-security : 5.4k fork / 11.2k star

基于SpringBoot、MyBatis、Shiro、Element Plus、Vue3等框架,开发的一套后台脚手架框架(权限系统),极低门槛,拿来即用。支持分布式部署、Quartz分布式集群调度、Flowable工作流、部门管理、数据权限、云存储、代码生成器、微信管理等功能。

  • https://www.renren.io/
  • https://gitee.com/renrenio/renren-security
  • http://demo.open.renren.io/renren-security/#/sys/role