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.3 后端:Spring Boot + Spring JPA/MyBatis 【推荐】
- 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.4 后端: Spring Cloud Alibaba 体系(Nacos / Gateway / ...) + Spring JPA/MyBatis 【推荐】
- Spring Cloud
- https://spring.io/projects/spring-cloud
1.5 前端: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.6 前端: Vue + 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
- RuoYi(SpringBoot+Bootstrap) | http://demo.ruoyi.vip/login
- RuoYi-Vue(SpringBoot+Vue) | https://vue.ruoyi.vip/index 【推荐】
- https://gitee.com/y_project/RuoYi-Vue 【推荐】
- https://gitee.com/y_project/RuoYi-Vue/tree/v3.8.7/
- RuoYi-Cloud(SpringCloud+Vue) | https://cloud.ruoyi.vip/
- RuoYi-App(Uniapp+Vue) | https://gitee.com/y_project/RuoYi-App | https://h5.ruoyi.vip/#/ 【推荐(H5端)】
- 项目说明
- RuoYi从3.0开始,进行模块拆分,将原先的单应用转变为多模块,如需单应用,请移步 RuoYi-fast (opens new window)(保持同步更新),如需其他版本,请移步 项目扩展 (opens new window)(不定时更新)
- 如需Vue分离版本,请移步 RuoYi-Vue (opens new window),如需Cloud微服务版本,请移步 RuoYi-Cloud
- RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。
- 在线体验
- 若依官网:http://ruoyi.vip(opens new window)
- 演示地址:http://demo.ruoyi.vip(opens new window)
- 代码下载:https://gitee.com/y_project/RuoYi
- 系统需求
- JDK >= 1.8
- MySQL >= 5.7
- Maven >= 3.0
- Spring Boot = 2.5.15
2.2 通用/权限/后台:Snowy/小诺 【推荐(重型)】???
- 小诺
- 国内首个国密前后端分离快速开发平台
- 集成国密加解密插件,在前后分离框架中,真正做到:前后分离“密”不可分;同时实现国产化机型、中间件、数据库适配
- https://xiaonuo.vip/
- https://gitee.com/xiaonuobase/snowy
- https://github.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(2.5.12) + 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 通用/权限/后台: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
- 技术选型
- 核心框架:Spring Boot 2.7
- 安全框架:Apache Shiro 1.12
- 持久层框架:MyBatis 3.5
- 定时器:Quartz 2.3
- 数据库连接池:Druid 1.2
- 日志管理:Logback
- 页面交互:Vue3.x
- 软件需求
- JDK 1.8
- Maven 3.0+
- MySQL 8.0
- Oracle 11g+
- SQLServer 2012+
- PostgreSQL 9.4+
- 达梦8
- 目录
renren-security
├─renren-common 公共模块
│
├─renren-admin 管理后台
│ ├─db 数据库SQL脚本
│ │
│ ├─modules 模块
│ │ ├─job 定时任务
│ │ ├─log 日志管理
│ │ ├─oss 文件存储
│ │ ├─security 安全模块
│ │ └─sys 系统管理(核心)
│ │
│ └─resources
│ ├─mapper MyBatis文件
│ ├─public 静态资源
│ └─application.yml 全局配置文件
│
│
├─renren-api API服务
│
├─renren-generator 代码生成器
│ └─resources
│ ├─mapper MyBatis文件
│ ├─template 代码生成器模板(可增加或修改相应模板)
│ ├─application.yml 全局配置文件
│ └─generator.properties 代码生成器,配置文件
│
├─renren-ui Vue3前端工程
2.4 商城: mall 【推荐】
- mall : 74.4k star / 28k fork
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。
前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。
后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
- https://github.com/macrozheng/mall
- https://www.macrozheng.com/
- demo system
- 前端项目mall-admin-web地址:https://github.com/macrozheng/mall-admin-web
- 项目演示地址: https://www.macrozheng.com/admin/index.html
- 后端技术
技术 | 说明 | 官网 |
---|---|---|
SpringBoot(2.7.5) | Web应用开发框架 | https://spring.io/projects/spring-boot |
SpringSecurity | 认证和授权框架 | https://spring.io/projects/spring-security |
MyBatis(3.5.10) | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatisGenerator(1.4.1) | 数据层代码生成器 | http://www.mybatis.org/generator/index.html |
Elasticsearch | 搜索引擎 | https://github.com/elastic/elasticsearch |
RabbitMQ | 消息队列 | https://www.rabbitmq.com/ |
Redis | 内存数据存储 | https://redis.io/ |
MongoDB | NoSql数据库 | https://www.mongodb.com |
LogStash | 日志收集工具 | https://github.com/elastic/logstash |
Kibana | 日志可视化查看工具 | https://github.com/elastic/kibana |
Nginx | 静态资源服务器 | https://www.nginx.com/ |
Docker | 应用容器引擎 | https://www.docker.com |
Jenkins | 自动化部署工具 | https://github.com/jenkinsci/jenkins |
Druid | 数据库连接池 | https://github.com/alibaba/druid |
OSS | 对象存储 | https://github.com/aliyun/aliyun-oss-java-sdk |
MinIO | 对象存储 | https://github.com/minio/minio |
JWT | JWT登录支持 | https://github.com/jwtk/jjwt |
Lombok | Java语言增强库 | https://github.com/rzwitserloot/lombok |
Hutool | Java工具类库 | https://github.com/looly/hutool |
PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |
Swagger-UI | API文档生成工具 | https://github.com/swagger-api/swagger-ui |
Hibernator-Validator | 验证框架 | http://hibernate.org/validator |
- 前端技术
技术 | 说明 | 官网 |
---|---|---|
Vue | 前端框架 | https://vuejs.org/ |
Vue-router | 路由框架 | https://router.vuejs.org/ |
Vuex | 全局状态管理框架 | https://vuex.vuejs.org/ |
Element | 前端UI框架 | https://element.eleme.io |
Axios | 前端HTTP框架 | https://github.com/axios/axios |
v-charts | 基于Echarts的图表框架 | https://v-charts.js.org/ |
Js-cookie | cookie管理工具 | https://github.com/js-cookie/js-cookie |
nprogress | 进度条控件 | https://github.com/rstacruz/nprogress |
- 移动端技术
技术 | 说明 | 官网 |
---|---|---|
Vue | 核心前端框架 | https://vuejs.org |
Vuex | 全局状态管理框架 | https://vuex.vuejs.org |
uni-app | 移动端前端框架 | https://uniapp.dcloud.io |
mix-mall | 电商项目模板 | https://ext.dcloud.net.cn/plugin?id=200 |
luch-request | HTTP请求框架 | https://github.com/lei-mu/luch-request |
- 目录结构
mall
├── mall-common -- 工具类及通用代码
├── mall-mbg -- MyBatisGenerator生成的数据库操作代码
├── mall-security -- SpringSecurity封装公用模块
├── mall-admin -- 后台商城管理系统接口
├── mall-search -- 基于Elasticsearch的商品搜索系统
├── mall-portal -- 前台商城系统接口
└── mall-demo -- 框架搭建时的测试代码
-
商城后台
-
商城前台
2.5 商城: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.6 博客/论坛:paicoding 【推荐】
- paicoding : 298 fork / 1.5k star
- https://github.com/itwanger/paicoding
- 一款好用又强大的开源社区,基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等主流技术栈,附详细教程,包括Java、Spring、MySQL、Redis、微服务&分布式、消息队列等核心知识点。
- 一个基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈实现的社区系统,采用主流的互联网技术架构、全新的UI设计、支持一键源码部署,拥有完整的文章&教程发布/搜索/评论/统计流程等,代码完全开源,没有任何二次封装,是一个非常适合二次开发/实战的现代化社区项目。
- 项目演示地址:https://paicoding.com
2.7 博客/论坛:My-Blog 【推荐】
- My-Blog : 967 fork / 3.5k star
- https://github.com/ZHENFENG13/My-Blog
My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
2.8 博客/论坛:B3log/Solo 【推荐】
- B3log/Solo : 433 fork / 1.5k star
- https://b3log.org/solo/
- https://ld246.com/tag/solo
Solo 是一款小而美的博客系统,专为程序员设计- https://b3log.org/solo/#docs
- https://github.com/88250/solo
2.9 低代码平台:JeecgBoot/JeecgBoot-Vue3
- 官网
- https://github.com/jeecgboot/jeecg-boot | 后端源码
「企业级低代码平台」前后端分离架构SpringBoot 2.x/3.x,SpringCloud,Ant Design&Vue,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的开发模式OnlineCoding->代码生成->手工MERGE,帮助Java项目解决70%重复工作,让开发更关注业务,既能快速提高效率,帮助公司节省成本,同时又不失灵活性。
- https://github.com/jeecgboot/jeecgboot-vue3 | 前端源码 2.2k star / 1.3k fork
JeecgBoot—Vue3版前端源码,采用 Vue3.0+TypeScript+Vite+Ant-Design-Vue等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 是JeecgBoot低代码平台的vue3技术栈的全新UI版本,功能强于vue2版。
- https://jeecg.com/
- https://jeecg.com/download
- http://guojusoft.com/index.php
- demo
- https://jeecg.com/doc/demo
- VUE2版:http://boot.jeecg.com
- VUE3版:http://boot3.jeecg.com
登录账号1:jeecg
登录密码1:jeecg#123456
登录账号2:qinfeng
登录密码2:jeecg#123456
- project demo : 基于低代码平台的项目案例
- Finer 进销存系统 - Gitee
2.10 低代码平台 : lowcode-engine
- 官网
- https://github.com/alibaba/lowcode-engine : 2.4k fork / 13.7k star
- https://lowcode-engine.cn/site/docs/guide/quickStart/intro
- https://lowcode-engine.cn/index
- 衍生组件
- https://github.com/alibaba/lowcode-materials | 170fork / 299 star
- Demo
- https://alifd.alicdn.com/npm/@alilc/lowcode-materials@1.1.0/build/lowcode/index.html
- https://github.com/alibaba/lowcode-engine-ext
X 推荐文献
- 分享5款开源企业级后台模版,开发项目必备 - Zhihu
vue-element-admin / AdminLTE / tabler / ant-design-pro / react-admin
本文暂时没有评论,来添加一个吧(●'◡'●)