关于我对 jeecg-boot 的项目理解、使用心得和改进建议

       一句话总结: JeecgBoot帮助我提升了后端技术水平,入门了前端,让我在公司内部慢慢能够成长为全栈开发。

一、项目理解

       JeecgBoot 项目的核心理念是快速开发、低代码、易扩展。它采用了前后端分离的架构,后端使用Spring Boot + Mybatis Plus,前端使用Vue + Ant Design Vue。这种技术栈符合当前的技术趋势,使得开发者能够专注于业务逻辑的实现,而无需过多关注底层技术细节。目前开源项目后端有Spring Boot单体版和Spring Cloud微服务版,前端有Vue2版和Vue3版。

JEECG官方网站 - 基于BPM的低代码开发平台

二、使用心得

  1. 快速搭建项目:JeecgBoot 提供了丰富的模板和插件,可以快速生成前后端代码,大大缩短了项目搭建的时间。

  2. 完善的文档:JeecgBoot 的官方文档详细且清晰,对于初学者来说非常友好。同时,社区还提供了视频教学,方便开发者快速上手。

  3. 活跃的社区论坛:JeecgBoot 社区活跃,遇到问题时,通常能得到及时的解答和帮助。

JEECG官方网站 - 基于BPM的低代码开发平台

JeecgBoot 文档中心

jeecg视频专辑-jeecg视频合集-哔哩哔哩视频

JEECG技术论坛 - 基于BPM的低代码开发平台

三、改进建议

  1. 等保相关的建议,建议加入一些等保要求的优化建议,例如前后端数据传输加密,用户敏感数据加密入库,脱敏,用户账号登录错误超过一定次数锁定账号等,一些常见的等保要求。

  2. SQL 注入防护:使用预编译语句、参数化查询等技术,防止 SQL 注入攻击。同时,对用户输入进行严格的验证和过滤,避免恶意输入导致安全问题。

  3. 跨站请求伪造(CSRF)防护:使用 CSRF Token 技术,确保请求的来源是合法的。在表单提交时,将 CSRF Token 作为隐藏字段或请求头发送,服务器端进行验证。

  4. 跨站脚本(XSS)防护:对用户输入进行严格的验证和过滤,防止恶意脚本注入。使用安全的编码方式,如 HTML 实体编码,避免脚本执行。

  5. 定期安全检查与更新:定期对系统进行安全检查,发现并修复安全漏洞。同时,及时更新系统组件和依赖库,防止已知漏洞被利用。

  6. 备份与恢复:定期备份系统数据和配置文件,确保在发生安全事件时能够快速恢复系统。

  7. 深化角色权限管理,目前使用了最新的单体+Vue3版,角色权限管理只做到了菜单栏的级别,是否可以考虑自动化生成代码做到按钮级别(会不会是开源版的原因)。

  8. 添加数据权限管理,个人比较常用的是3年前就check out的版本,那时候还没有加入租户的功能,在后面的版本已经看到有了。只是无论新旧版对数据权限这块,没怎么涉及,建议可以做个组织架构的数据权限。

  9. 路由懒加载:对于体积较大的第三方资源,可以进行拆包或使用 CDN 引入,以提高加载性能,在使用Vue3版的前端,浏览器没有缓存的时候打开前端首页基本要很久(1分钟左右)。

总结

        JeecgBoot 明显提高了我们团队的开发效率,其全套技术栈符合当前技术趋势,学习文档完善,是一个非常值得学习的开源项目。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序入门及案例展示

目录 一、小程序简介 1.1 为什么要使用小程序 1.2 小程序可以干什么 二、前期准备 2.1 申请账号 2.2 开发工具下载与安装 三、电商案例演示 四、入门案例 4.1 项目结构解析 4.2 基础操作及语法 4.3 模拟器 4.4 案例演示 4.4.1 新建页面 4.4.2 头部样式设置 4.4.…

github: kex_exchange_identification: Connection closed by remote host

问题描述 (base) ➜ test git:(dev) git pull kex_exchange_identification: Connection closed by remote host Connection closed by 192.30.255.113 port 22 致命错误:无法读取远程仓库。解决方案 参照下边文档 https://docs.github.com/en/authentication/tr…

【C++初阶(二)】缺省参数函数重载

目录 前言 1. 缺省参数 1.1 什么是缺省参数 1.2 缺省参数的分类 1.2.1 全缺省参数 1.2.2 半缺省参数 2. 函数重载 2.1 什么是函数重载 2.2 缺省参数与函数重载 2.3 函数重载的使用 3. C支持函数重载的原因 总结 前言 在学习C语言时我们就会发现,C语言中存在的许多…

Flutter视图原理之三棵树的建立过程

目录 三棵树的关系树的构建过程1.updateChild函数(element的复用)2.inflateWidget函数3.mount函数3.1 componentElement的实现3.2 RenderObjectElement的实现3.2.1 attachRenderObject函数 4.performRebuild函数 总结三棵树创建流程 三棵树的关系 Flutt…

超声波清洗机靠谱吗?实用性比较高的超声波清洗机推荐

超声波清洗机是否靠谱,这是一个有争议的问题!但是先不妨先来了解了解超声波清洗机。 超声波清洗机通过高频振动波来清洁物品表面,这些振动波会在水中形成微小的气泡。气泡不断崩裂,产生强大的冲击力,从而将物品表面的…

【ArcGIS微课1000例】0075:将AutoCAD(Dwg、Dxf)文件转换为shp、KML(kml、kmz)文件

文章目录 1. 加载DWG2. 导出为shp3. 投影变换4. 转为kml1. 加载DWG 打开ArcMap,点击添加符号: 选择地形图dwg数据,全选图层,也可以选择需要的图层。 提示位置的空间参考,点击确定即可。 加载效果。 2. 导出为shp 接下来我们演示将面状数据转为shp,选择Polygon图层,右键…

vue3+koa+axios实现前后端通信

vue3koaaxios实现前后端通信 写了一个小demo来实现前后端通信,涉及跨域问题,非常简单可以给大家平时开发的时候参考 服务端: 目录结构如下: router index.js // router的入口文件 // 引入路由 const Router require("koa-router&quo…

QT的QStringList的使用

初始 化 默认构造函数创建一个空列表。可以使用初始值设定项列表构造函数创建包含元素的列表: QStringList fonts { "Arial", "Helvetica", "Times" }; 添加字符串 可以使用insert 、append() 和 operator…

armbian安装gcc、g++

文章目录 安装GCC安装G 安装GCC 打开终端&#xff0c;更新软件包列表&#xff1a; sudo apt update安装GCC&#xff1a; sudo apt install gcc如果需要安装特定版本的GCC&#xff0c;可以使用以下命令&#xff1a; sudo apt install gcc-<version> # sudo apt install g…

phpstudy_2016-2018_rce_backdoor 漏洞复现

phpstudy_2016-2018_rce_backdoor 漏洞复现 Remote Command Execute 打开 bp 打开代理浏览器 访问 php 页面 回到 bp 查看 http 历史&#xff0c;找到刚刚访问的 php 页面 发送到 Repeater 转到 Repeater php 页面请求内容加 Accept-Charset: 修改 Accept-Encodi…

Leetcode 142 环形链表II(链表:快2慢1指针相遇即有环)

Leetcode 142 环形链表II&#xff08;链表&#xff1a;快2慢1指针相遇即有环&#xff09; 解法1 https://leetcode.cn/problems/linked-list-cycle-ii/description/ 解法1 &#x1f534;1.【有无环】快慢指针&#xff0c;快指针每次走两步&#xff0c;慢指针每次走一步&#xf…

3、Flowable任务分配和流程变量

任务分配和流程变量 1.任务分配 1.1 固定分配 固定分配就是我们前面介绍的&#xff0c;在绘制流程图或者直接在流程文件中通过Assignee来指定的方式 1.2 表达式分配 Flowable使用UEL进行表达式解析。UEL代表Unified Expression Language&#xff0c;是EE6规范的一部分.Flo…

K-Means算法

c^(i)&#xff1a;xi分配到第i个簇 μ&#xff1a;质心 μci&#xff1a;即第xi个样本分配到的簇的质心 Step 1.从样本中随机选取K个点作为簇质心 2.每个点都指向离它最近的簇质心 3.遍历结束后&#xff0c;重新计算K值&#xff0c;即计算K个簇的平均值作为新的质心 重复23直…

MATLAB中ss2tf函数用法

目录 语法 说明 示例 质点-弹簧系统 双体振荡器 ss2tf函数的功能是将状态空间表示形式转换为传递函数。 语法 [b,a] ss2tf(A,B,C,D) [b,a] ss2tf(A,B,C,D,ni) 说明 [b,a] ss2tf(A,B,C,D) 将方程组的状态空间表示形式转换为等同的传递函数。ss2tf 返回连续时间方程组…

lark 发送图片消息

1. 需求 2. 实现 2.1 获取数据源 # -*- coding: utf-8 -*- import os import json import requests import pandas as pd from pathlib import PurePath, Path import plotly.express as px from requests_toolbelt import MultipartEncoderdef get_data():dt [2023-10-01, …

为什么嵌入通常优于TF-IDF:探索NLP的力量

塔曼纳 一、说明 自然语言处理&#xff08;NLP&#xff09;是计算机科学的一个领域&#xff0c;涉及人类语言的处理和分析。它用于各种应用程序&#xff0c;例如聊天机器人、情绪分析、语音识别等。NLP 中的重要任务之一是文本分类&#xff0c;我们根据文本的内容将文本分类为不…

基于VCO的OTA稳定性分析的零交叉时差模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Python 网络爬虫

爬虫原理 计算机一次Request请求和服务器端的Response回应&#xff0c;即实现了网络连接。 爬虫需要做两件事&#xff1a;模拟计算机对服务器发起Request请求。 接受服务器的Response内容并解析、提取所需的信息。 多页面爬虫流程 ​​​​​​​多页面网页爬虫流程

网络安全是什么?一文认识网络安全

一、网络安全 1.概念 网络安全从其本质上讲就是网络上的信息安全&#xff0c;指网络系统的硬件、软件及数据受到保护。不遭受破坏、更改、泄露&#xff0c;系统可靠正常地运行&#xff0c;网络服务不中断。 &#xff08;1&#xff09;基本特征 网络安全根据其本质的界定&#…

RK3588开发笔记(二):基于方案商提供sdk搭建引入mpp和sdk的宿主机交叉编译Qt5.12.10环境

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/133915614 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…