AgileBoot仓库后端地址:https://github.com/valarchie/...技术栈:Springboot/SpringSecurity/MyBatisPlusJPANoXML/Druid/Redis/Hutool/JWT前端地址:https://github.com/valarchie/...技术栈:Vue3+ElementUIplus+ViteAgileBoot项目的起源是因为想鼓捣一些小东西业余时间的事情,所以当时上网找了很多快速开发的脚手架。如若一/Jeecg-boot/ElAdmin/renren等框架。鱼道也做了一个Ruoyi-Pro项目,但是功能很多,而且太重,所以质量可能无法保证。最后选择了若一框架作为自己开发一些小东西的脚手架。首先感谢作者若懿对这个项目的整理。但是当我翻过若仪这个项目的时候。发现项目的代码水平和质量……emm……有点不像专业后台人员开发的项目。有一些缺陷:相对于原来的Controller>Service>DAO开发模式,命名混乱(很多不好的命名,包括机器翻译的英文误用),项目分包和模块混乱。过于过程化。一堆自制的轮子,没有UT覆盖。ifelse块中嵌套了很多逻辑,前后的值不一致。比如有的地方1表示是,有的地方1表示否。很多很奇葩的代码写法(比如returnresult>0?true:false..不好说)所以几乎是基于若一项目重构了整个项目。重构内容设计:MigrateMyBatistoMybatisPlus(迁移工作非常耗时)+以JPA形式增删改改数据+将FastJson迁移到JacksonwithoutXML(更不用说FastJson的坑)重新优化databasetable设计去掉了所谓的low-codegeneration...(这个级别的代码生成其实意义不大,开发也没有必要用这个脚手架)每层的log都是分段打印的,以及前端密码加密传输设计多级缓存系统Map->Guava>Redis。不同的场景使用不同级别的缓存。Redis缓存中嵌入了一个本地缓存。合理分包:common(公共包)/infrastructure(基础设施)/domain(业务逻辑)/orm(数据层)/admin(管理后台)/api(外部API)若一的角色是多岗位多角色设计,但作为一个快速开发的小脚手架,没必要这么设计,我改成了单位置单角色。统一注解拦截数据权限规范:不同环境下启动文件的切分异常类的统一设计错误码的统一设计,统一系统变量的集中管理,统一返回模型的集中管理引入谷歌代码格式化模板(若一的代码格式为很不一样。。。)后端代码的命名基本整改了。OK前端代码的命名也很混乱,已经进行了整改:引入hutool包和guava包去除了很多自制轮子(辛苦了.....)引入lombok去除大量gettersetter代码调整日志级别和字典类型数据完全替换为Enum去除SQL注入的Filter,因为迁移到MybatisPlus不会有这个注入问题。XSS直接通过JSON拦截过滤。替换了很多废弃的类和配置优化:优化了异步服务,优化了Excel相关类的设计,采用了hutool包成熟的wheel权限判断,使用了缓存的IP地址查询,引入了离线包,引入了多级缓存体系。起床了,很多小改动,花了很多时间整顿整个项目。基本上整个项目都被重构了。该项目的愿景是创建一个可用于生产的小型开发脚手架,可用于外包或公司内部的小型项目。若一有点玩具项目的感觉。但是很多人直接使用它。不过用起来应该不会那么省心。本项目主要目标是安全代码规范更面向对象(伪DDD)小而美的概念(不是加了很多功能。。。)如果有很常用的功能,可以讨论加入真正的生产型项目项目操作手册前提:安装MySQL/Redis/npm后端项目:gitclonehttps://github.com/valarchie/...IDEA导入项目更改数据库账号更改Redis账号更改IDEA启动配置IDEA->运行即可前端项目:gitclonehttps://github.com/valarchie/...vscode导入项目npminstallnpmrundev访问localhost即可最后,我的综合能力有限。如有错误或代码规范或设计问题,请指出。欢迎大家提Issue和PR。它将每周更新一次。PS:本人前端小白,有没有大佬一起优化~呵呵交流群:1398880
