一句话总结: JeecgBoot帮助我提升了后端技术水平,入门了前端,让我在公司内部慢慢能够成长为全栈开发。
一、项目理解
JeecgBoot 项目的核心理念是快速开发、低代码、易扩展。它采用了前后端分离的架构,后端使用Spring Boot + Mybatis Plus,前端使用Vue + Ant Design Vue。这种技术栈符合当前的技术趋势,使得开发者能够专注于业务逻辑的实现,而无需过多关注底层技术细节。目前开源项目后端有Spring Boot单体版和Spring Cloud微服务版,前端有Vue2版和Vue3版。
二、使用心得
-
快速搭建项目:JeecgBoot 提供了丰富的模板和插件,可以快速生成前后端代码,大大缩短了项目搭建的时间。
-
完善的文档:JeecgBoot 的官方文档详细且清晰,对于初学者来说非常友好。同时,社区还提供了视频教学,方便开发者快速上手。
-
活跃的社区论坛:JeecgBoot 社区活跃,遇到问题时,通常能得到及时的解答和帮助。
三、改进建议
-
等保相关的建议,建议加入一些等保要求的优化建议,例如前后端数据传输加密,用户敏感数据加密入库,脱敏,用户账号登录错误超过一定次数锁定账号等,一些常见的等保要求。
-
SQL 注入防护:使用预编译语句、参数化查询等技术,防止 SQL 注入攻击。同时,对用户输入进行严格的验证和过滤,避免恶意输入导致安全问题。
-
跨站请求伪造(CSRF)防护:使用 CSRF Token 技术,确保请求的来源是合法的。在表单提交时,将 CSRF Token 作为隐藏字段或请求头发送,服务器端进行验证。
-
跨站脚本(XSS)防护:对用户输入进行严格的验证和过滤,防止恶意脚本注入。使用安全的编码方式,如 HTML 实体编码,避免脚本执行。
-
定期安全检查与更新:定期对系统进行安全检查,发现并修复安全漏洞。同时,及时更新系统组件和依赖库,防止已知漏洞被利用。
-
备份与恢复:定期备份系统数据和配置文件,确保在发生安全事件时能够快速恢复系统。
-
深化角色权限管理,目前使用了最新的单体+Vue3版,角色权限管理只做到了菜单栏的级别,是否可以考虑自动化生成代码做到按钮级别(会不会是开源版的原因)。
-
添加数据权限管理,个人比较常用的是3年前就check out的版本,那时候还没有加入租户的功能,在后面的版本已经看到有了。只是无论新旧版对数据权限这块,没怎么涉及,建议可以做个组织架构的数据权限。
-
路由懒加载:对于体积较大的第三方资源,可以进行拆包或使用 CDN 引入,以提高加载性能,在使用Vue3版的前端,浏览器没有缓存的时候打开前端首页基本要很久(1分钟左右)。
总结
JeecgBoot 明显提高了我们团队的开发效率,其全套技术栈符合当前技术趋势,学习文档完善,是一个非常值得学习的开源项目。