关于我对 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.mzph.cn/news/114258.shtml

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

相关文章

用节点亲和性把 Pod 分配到节点

用节点亲和性把 Pod 分配到节点 当前集群信息: rootk8s-master:~# kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s…

微信小程序OA会议系统数据交互

前言 经过我们所写的上一文章:微信小程序会议OA系统其他页面-CSDN博客 在我们的是基础面板上面,可以看到出来我们的数据是死数据,今天我们就完善我们的是数据 后台 在我们去完成项目之前我们要把我们的项目后台准备好资源我放在我资源中&…

学习笔记---0基础+干货满满的单链表专题~~

目录​​​​​​​ 1. 链表的概念及结构👑 1.1 什么是链表?👀 1.2 为什么需要链表?⁉️ 1.3 链表的结构是怎么样的?❓ 2. 链表的分类🦜 3. 实现单链表🫵 3.1 要实现的目标🎯…

JS加密/解密之闭包的运用

深入探讨JavaScript闭包的演变与应用 摘要: 本文将深入探讨JavaScript闭包的概念、特性以及其在实际开发中的应用。我们将从闭包的起源开始,探讨它在JavaScript编程中的重要性,并通过实例展示闭包在不同场景下的灵活应用。 引言 JavaScrip…

第一个Vue程序

首先下载vue.min.js或者vue.js Installation — Vue.js 在web文件下创建js文件并把vue.js复制到此文件。 创建一个jsp文件 显示界面

自然语言处理---Transformer机制详解之GPT模型介绍

1 GPT介绍 GPT是OpenAI公司提出的一种语言预训练模型.OpenAI在论文<< Improving Language Understanding by Generative Pre-Training >>中提出GPT模型.OpenAI后续又在论文<< Language Models are Unsupervised Multitask Learners >>中提出GPT2模型.…

如何使用visual studio 2010构建SQLite3.lib文件

sqlite3官网只提供了dll&#xff0c;并没有lib文件。需要自己生成sqlite3.lib。因项目升级到x64&#xff0c;以前并没有生成64位的链接库&#xff0c;需要自己创建。本人电脑操作系统windows 10, 开发环境为visual studio 2010。下面是详细生成过程。 1. 从源下载源&#xff08…

Spring中静态代理设计模式

目录 一、为什么需要代理设计模式 二、代理设计模式 三、静态代理设计模式 3.1 存在的问题 一、为什么需要代理设计模式 在项目的开发过程中我们知道service层是整个项目中最重要的部分&#xff0c;在service中一般会有两个部分&#xff0c;一个是核心业务&#xff0c;一个是额…

力扣每日一题54:螺旋矩阵

题目描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#…

mk语法示例

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

『ARM』和『x86』处理器架构解析指南

前言 如果问大家是否知道 CPU&#xff0c;我相信不会得到否定的答案&#xff0c;但是如果继续问大家是否了解 ARM 和 X86 架构&#xff0c;他们的区别又是什么&#xff0c;相信可能部分人就会哑口无言了 目前随着深度学习、高性能计算、NLP、AIGC、GLM、AGI 的技术迭代&#…

自然语言处理---RNN、LSTM、GRU模型

RNN模型 RNN模型概述 RNN(Recurrent Neural Network)&#xff0c;中文称作循环神经网络&#xff0c;它一般以序列数据为输入&#xff0c;通过网络内部的结构设计有效捕捉序列之间的关系特征&#xff0c;一般也是以序列形式进行输出。RNN的循环机制使模型隐层上一时间步产生的…

MSP430F5529时钟系统配置

1、为什么要进行时钟管理&#xff1f;   时钟系统是一个数字器件的命脉&#xff0c;对于普通的51单片机来说&#xff0c;它的时钟来源只有外部晶振&#xff0c;然后每12个振荡周期完成一个基本操作&#xff0c;所以也叫做12T单片机&#xff0c;但对于当前高级一点的单片机来…

Spring5学习笔记—高级注解

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Spring专栏 ✨特色专栏&#xff1a; M…

Python 创建或读取 Excel 文件

Excel是一种常用的电子表格软件&#xff0c;广泛应用于金融、商业和教育等领域。它提供了强大的数据处理和分析功能&#xff0c;可进行各种计算和公式运算&#xff0c;并能创建各种类型的图表和可视化数据。Excel的灵活性使其成为处理和管理数据的重要工具。本文将介绍如何使用…

【微信小程序】6天精准入门(第5天:利用案例与后台的数据交互)附源码

一、什么是后台交互&#xff1f; 在小程序中&#xff0c;与后台交互指的是小程序前端与后台服务器之间的数据通信和请求处理过程。通过与后台交互&#xff0c;小程序能够获取服务器端的数据、上传用户数据、发送请求等。 小程序与后台交互可以实现数据的传输、用户认证、实时消…

什么是Sectigo证书?

Sectigo证书&#xff0c;早前被称为Comodo证书&#xff0c;是一种SSL&#xff08;安全套接层&#xff09;证书&#xff0c;用于保护互联网上的数据传输的安全性和隐私性。这些证书由全球领先的SSL证书颁发机构Sectigo颁发&#xff0c;被广泛用于网站、应用程序和服务器上。本文…

hexo发生错误 Error: Spawn failed

错误描述 仓库中有东西&#xff0c;运行如下命令后报错 hexo d报错提示: 原因分析: 看别人的博客是用git进行push或hexo d的时候改变了一些.deploy_git文件下的内容&#xff0c;这个.deploy_git的内容对于hexo来说可能是系统文件&#xff0c;这里挖坑 解决办法 一个个的…

分布式Trace:横跨几十个分布式组件的慢请求要如何排查?

目录 前言 一、问题的出现&#xff1f; 二、一体化架构中的慢请求排查如何做 三、分布式 Trace原理 四、如何来做分布式 Trace 前言 在分布式服务架构下&#xff0c;一个 Web 请求从网关流入&#xff0c;有可能会调用多个服务对请求进行处理&#xff0c;拿到最终结果。这个…

自然语言处理---注意力机制

注意力概念 观察事物时&#xff0c;之所以能够快速判断一种事物(当然允许判断是错误的)&#xff0c;是因为大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断&#xff0c;而并非是从头到尾的观察一遍事物后&#xff0c;才能有判断结果。正是基于这样的理论&#xf…