02 功能模块与技术选型

news2024/10/6 15:20:41

本专栏将从基础开始,循序渐进,以实战为线索,逐步深入SpringSecurity相关知识相关知识,打造完整的SpringSecurity学习步骤,提升工程化编码能力和思维能力,写出高质量代码。希望大家都能够从中有所收获,也请大家多多支持。
专栏地址:芋道源码专栏
本文涉及的代码都已放在gitee上:gitee地址
如果文章知识点有错误的地方,请指正!大家一起学习,一起进步。
专栏汇总:专栏汇总
欢迎访问:我的程序员工具集

功能模块

项目的内置组件和内置功能如下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


1. 蓝色区块

  • Mall:电子商城
  • OA:办公自动化
  • ERP:企业资源计划系统
  • CRM:客户关系管理
  • CMS:内容管理系统
  • BBS:论坛社区系统

2. 粉色区块: 在中间有两个指向符号,表明它们之间存在某种关系。

  • System:系统功能
  • Infra:基础设施
  • BPM:工作流管理
  • Pay:支付系统
  • Member:会员中心
  • Visualization:数据可视化

3. 绿色区块: 在中间有两个指向符号,表明它们之间存在某种关系。

  • Web:网站相关
  • Security:安全相关
  • MyBatis:数据持久层框架
  • Redis:内存数据存储
  • MQ:消息队列
  • Job:任务相关
  • Protection:保护相关
  • Monitor:监控相关
  • Test:测试相关
  • Flowable:工作流相关
  • Data Permission:数据权限
  • Tenant:多租户
  • Pay:支付相关
  • SMS:短信服务
  • Social:社交相关
  • Operate Log:操作日志

这些模块代表了一套完整的企业技术解决方案的组成部分,覆盖了从前台到后台,从基础设施到具体业务功能的各个方面。

项目的分层结构如下

在这里插入图片描述

技术选型

#👻 后端

#系统环境

框架说明版本
JDKJava 开发工具包>= 1.8.0
MavenJava 管理与构建工具>= 3.5.0
Nginx高性能 Web 服务器-

#主框架

框架说明版本
Spring Cloud Alibaba(opens new window)微服务框架2021.0.4.0
Spring MVC(opens new window)MVC 框架5.3.24
Spring Security(opens new window)Spring 安全框架5.7.6
Hibernate Validator(opens new window)参数校验组件6.2.5

#存储层

框架说明版本
MySQL(opens new window)数据库服务器>= 5.7
Druid(opens new window)JDBC 连接池、监控组件1.2.18
MyBatis Plus(opens new window)MyBatis 增强工具包3.5.3.1
Dynamic Datasource(opens new window)动态数据源3.6.1
Redis(opens new window)key-value 数据库>= 5.0
Redisson(opens new window)Redis 客户端3.17.7

#中间件

框架说明版本
Nacos(opens new window)配置中心 & 注册中心2.0.4
RocketMQ(opens new window)消息队列4.9.4
Sentinel(opens new window)服务保障1.8.6
XXL Job(opens new window)定时任务2.3.1
Spring Cloud Gateway(opens new window)服务网关3.4.1
Seata(opens new window)分布式事务1.6.1
Flowable(opens new window)工作流引擎6.7.2

#系统监控

框架说明版本
Spring Boot Admin(opens new window)Spring Boot 监控平台2.6.10
SkyWalking(opens new window)分布式应用追踪系统8.5.0

#单元测试

框架说明版本学习指南
JUnit(opens new window)Java 单元测试框架5.8.2-
Mockito(opens new window)Java Mock 框架4.8.0-

#其它工具

框架说明版本
Springdoc(opens new window)Swagger 文档1.6.15
Jackson(opens new window)JSON 工具库2.13.3
MapStruct(opens new window)Java Bean 转换1.5.5.Final
Lombok(opens new window)消除冗长的 Java 代码1.18.26

#👾 前端

#管理后台(Vue3 + ElementPlus)

框架说明版本
Vue(opens new window)vue 框架3.2.45
Vite(opens new window)开发与构建工具4.0.1
Element Plus(opens new window)Element Plus2.2.26
TypeScript(opens new window)JavaScript 的超集4.9.4
pinia(opens new window)Vue 存储库 替代 vuex52.0.28
vueuse(opens new window)常用工具集9.6.0
vxe-table(opens new window)vue 最强表单4.3.7
vue-i18n(opens new window)国际化9.2.2
vue-router(opens new window)vue 路由4.1.6
windicss(opens new window)下一代工具优先的 CSS 框架3.5.6
iconify(opens new window)在线图标库3.0.0
wangeditor(opens new window)富文本编辑器5.1.23

#管理后台(Vue3 + Vben + Ant-Design-Vue)

框架说明版本
Vue(opens new window)Vue 框架3.2.47
Vite(opens new window)开发与构建工具4.3.0
ant-design-vue(opens new window)ant-design-vue3.2.17
TypeScript(opens new window)JavaScript 的超集5.0.4
pinia(opens new window)Vue 存储库 替代 vuex52.0.34
vueuse(opens new window)常用工具集9.13.0
vue-i18n(opens new window)国际化9.2.2
vue-router(opens new window)Vue 路由4.1.6
windicss(opens new window)下一代工具优先的 CSS 框架3.5.6
iconify(opens new window)在线图标库3.1.0

#管理后台(Vue2)

框架说明版本
Node(opens new window)JavaScript 运行时环境>= 12
Vue(opens new window)JavaScript 框架2.7.14
Vue Element Admin(opens new window)后台前端解决方案2.5.10

#管理后台(uni-app)

框架说明版本
uni-app跨平台框架2.0.0
uni-ui(opens new window)基于 uni-app 的 UI 框架1.4.20

#用户 App

框架说明版本
Vue(opens new window)JavaScript 框架2.6.12
UniApp(opens new window)小程序、H5、App 的统一框架-

关于作者

潮浪之巅 - 本硕计算机科班人,全栈领域优质创造者感谢您的关注! 欢迎访问 我的程序员工具集。
如果觉得本文有用,请 点赞👍分享给你的朋友们!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PMP考试都是什么题型?

这里要讲一些关于新考纲的知识点,这些内容都会在考试中出现。为了快速作答,我们要抓住主要的点,优先回答自信的题目。 1、不需要全都答对180道题。 按照二八法则,只要能答对80%的题目,容错率大约是20%(约…

亚马逊卖家必备:自养号测评如何帮助新店铺脱颖而出?

亚马逊是全球最大的电商平台之一,成为亚马逊新店铺的卖家是许多商家的梦想。然而,在一个庞大的市场中脱颖而出并吸引客户并不容易。所以,如何在亚马逊上成功推广新店铺呢?让我们来探讨一下,有哪些技巧可以帮助您实现这个目标。 …

UE5 C++自定义Http节点获得Header数据

一、新建C文件 选择All Classes,选择父类BlueprintFunctionLibrary,命名为SendHttpRequest。 添加Http支持 代理回调的参数使用DECLARE_DYNAMIC_DELEGATE_TwoParam定义,第一参数是代理类型,后面是参数1类型,参数1&…

2-Java进阶知识总结-2-递归-异常-流-File

文章目录 Java SE进阶知识总结-2Objects、Math、System、BigDecimalObjectsMathSystemBigDecimal 包装类基本数据类型对应的包装类自动拆箱和自动装箱包装类常见问题 时间类JDK8(-)JDK8()日历类(获取当前时间&#xff…

7年阿里测试经验之谈 —— 用UI自动化测试实现元素定位!

随着IT行业的发展,产品愈渐复杂,web端业务及流程更加繁琐,目前UI测试仅是针对单一页面,操作量大。为了满足多页面功能及流程的需求及节省工时,设计了这款UI 自动化测试程序。旨在提供接口,集成到蜗牛自动化…

BUUCTF 文件中的秘密 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 小明经常喜欢在文件中藏一些秘密。时间久了便忘记了,你能帮小明找到该文件中的秘密吗? 密文: 下载附件,解压得到JPEG图片。 解题思路: 1、根据题目提示…

预训练+微调 逆合成预测

【JCIM 2020】数据增强预训练基于模板 Template methods Figure 1. 预训练微调 workflow 首先,通过增强的反应数据(真实存在的数据计算机生成的反应数据)进行Pretrain Encoder A, 2、只使用真实反应数据对Pretrain Encoder A 进…

最小生成树专题1 最小生成树-Prim算法

题目: 样例1: 输入 4 5 0 1 3 0 2 2 0 3 3 2 3 1 1 2 1 输出 4 样例2: 输入 3 1 0 1 1 输出 -1 思路: Prim 算法和 朴素版的 Dijkstra 有点类似,也叫做 朴素版Prim算法,但也还是有点区别。 Dijkstra 中…

​CRM系统如何选型?

不少企业都想要使用CRM客户管理系统,但往往在CRM选型阶段就被折腾的五迷三道。CRM系统选型难在哪里?下面我们从企业用户和CRM厂商两方面进行分析,来说说关于CRM系统选型的那些事。 企业自身原因: 1、认知偏差 看到一个观点&…

GNN图神经网络入门

1.为什么会提出图神经网络? 答:为了处理图Graph这种特殊的数据结构。 2.为什么要与神经网络搭上关系? 答:利用神经网络能够拟合任意函数的能力(或者理解为强大的为特征变换能力)。 3.图神经网络的最终目的是…

Ajax、Json深入浅出,及原生Ajax及简化版Ajax

Ajax 1.路径介绍 1.1 JavaWeb中的路径 在JavaWeb中,路径分为相对路径和绝对路径两种: 相对路径: ./ 表示当前目录(可省略) ../ 表示当前文件所在目录的上一级目录 绝对路径: http://ip:port/工程名/资源路径 2.2 在JavaWeb中…

EG网关串口连接台达PLC

EG网关串口连接台达PLC 前言:台达PLC是一款国产优秀的可编程控制器,广泛应于工业控制领域,是一款性能高,运行稳定的控制器。此次我们要把台达DVP-ES系列PLC通过modbus驱动连接到EMCP物联网云平台(简称EMCP)…

一些额外且好用的 icon 图库

一些额外且好用的 icon 图库 之前偶然逛到 最佳 Icon 图标库推荐,收藏等于学会,这个真的挺好用的,不过这里的 icon 都是和 React 组件绑定了,额外补充一些不和框架绑定的图库 font awesome 这个应该用的人满多的,算…

基于springboot实现时间管理系统项目【项目源码+论文说明】

基于springboot实现时间管理系统演示 摘要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括时间管理系统的网络应用,在外国时间管理系统已经是很普遍的方式,不过国内的管理系统可能还处于起步阶段。时…

KNN 和 SVM 图片分类 任务 代码及细节分享

使用KNN (K-最近邻) 方法进行图像分类也是一个常见的选择。以下是 使用sklearn的KNeighborsClassifier进行图像分类的Python脚本: import os import cv2 import numpy as np import logging from sklearn.neighbors import KNeighborsClassifier from sklearn.met…

jdbc 中 Statement 不能避免注入式漏洞(SQL注入漏洞)

注入式漏洞 也称为 SQL注入漏洞,是一种常见的应用程序安全漏洞。当应用程序将用户输入的数据直接 拼接 到SQL查询语句中,而未对输入进行有效的过滤和转义时,攻击者可通过构造恶意的输入来执行非法的SQL语句,从而实现对应用程序的攻…

esp32c3-microPython开发固件烧录用户手册

esp32c3-microPython开发固件烧录用户手册1.4 文章目录 esp32c3-microPython开发固件烧录用户手册1.4烧录所需硬件软件工具Thonnyflash_download_tools 插座与USB转TTL模块之间接线esp32-C3版本插座(底板4针) 下载对应的 MicroPython固件烧录MicroPython…

grafana InfluxDB returned error: error reading influxDB 400错误解决

问题: 如图提示错误解决 确认自己的docker容器是否配置了以下3个字段 DOCKER_INFLUXDB_INIT_USERNAMExxx DOCKER_INFLUXDB_INIT_PASSWORDyyy DOCKER_INFLUXDB_INIT_ADMIN_TOKENzzz 如果有,在grafana中需要添加header配置Header: Authorization , Value…

将自己本地项目上传到git,IDEA图文操作

文章目录 一、初始化git仓库二、gitee创建仓库三、输入自己仓库的地址四、在添加所修改的文件可能的错误 五、合并需上传文件六、上传参考文档 一、初始化git仓库 在自己的项目中,命令行中输入 git init二、gitee创建仓库 新建仓库 设置仓库参数,设置…

C语言的const函数修饰指针

文章目录 一、const函数的作用 int a 10; int *p ; p &a;从上面的代码分析,p 存放的就是a的地址, *p 存放的就是 a 的值。 一、const函数的作用 一旦使用了const函数修饰一个变量,那么这个变量就无法变化了。 所以下面三种情况&#…