若依后端
文章平均质量分 84
若依后端
程序员诚哥
一名既喜欢技术,又懂点运营的程序员!
展开
-
小项目建议用redis替换mq
简单任务分发:如后台任务处理、日志收集等。实时数据处理:如实时流数据处理、监控报警、实时推送等。广播消息:如系统通知、状态更新等。轻量级系统:对运维要求较高,系统对消息丢失不敏感,且对路由和持久化无严格要求。原创 2024-09-11 10:49:53 · 601 阅读 · 0 评论 -
在若依Ruoyi-Vue中集成mybatisplus实现mybatis增强
MyBatisPlus是基于MyBatis的一款优秀持久层框架增强工具,它在MyBatis的基础上提供了丰富而强大的CRUD操作、条件构造器、全局通用操作、代码生成器等特性,极大地简化了开发过程,提升了开发效率。MyBatisPlus通过无侵入式的设计理念,使得在享受其带来的便利同时,无需对现有MyBatis项目进行大规模改造。原创 2024-04-25 14:28:08 · 3154 阅读 · 3 评论 -
在若依Ruoyi-Vue中集成Knife4j实现Swagger文档增强
Knife4j,原名Springfox-Swagger-UI,是为Swagger接口文档提供增强UI展示效果的工具,它在原生Swagger-UI基础上进行了大量功能扩展与优化。Knife4j凭借其友好的界面、丰富的交互功能、强大的个性化定制能力,成为众多开发者首选的API文档管理工具。集成Knife4j后,即可在若依-Ruoyi-Vue项目中体验到Swagger文档的诸多增强特性,提升API文档的实用性和易用性。和swagger一样,使用或注解启用Swagger,并通过Docket。原创 2024-04-25 14:26:37 · 2661 阅读 · 1 评论 -
若依ruoyi-vue实现excel导入导出
有时候我们希望导出表格包含标题信息,我们可以这样做。有时候我们希望数据展现为一个特殊的格式,或者需要对数据进行其它处理。Excel注解提供了自定义数据处理器以满足各种业务场景。1、在实体类用Excel注解handler属性指定自定义的数据处理器@Excel(name = "用户名称",handler = MyDataHandler.class)2、编写数据处理器MyDataHandler继承ExcelHandlerAdapter,返回值为处理后的值。@Override。原创 2024-03-25 19:51:18 · 8859 阅读 · 3 评论 -
规避mybaties全表更新风险
MyBatis Plus 提供了 BlockAttackInnerInterceptor (阻断攻击Sql解析器) 插件,该插件可以阻止全表更新和删除操作。在一定程度上,保证了数据库数据的安全。标签中做了if判断,id如果为null,if语句自动去掉,相当于使用了不带条件的更新语句。版本要求:MyBatis Plus 3.4.0 版本以上。标签中使用了不带条件的更新语句。原创 2024-03-22 09:00:49 · 290 阅读 · 2 评论 -
若依ruoyi-vue中的文件上传和下载
前端main.js已经引入了FileUpload组件,所以在其他页面直接使用就行。在自动生成的代码里面没有文件下载,是通过若依自己集成的download插件来实现的。若依现成的功能里面没有文件上传,但是集成了文件上传的组件以及图片上传的组件。若依自带的代码相对简单,利用FileUploadUtils将文件上传到本地。在代码自动生成的时候可以对字段设置为文件上传或图片上传图片类型。文件上传会调用服务器的/common/upload接口上传文件。后端实现相对简单,也是通过FileUtils类来实现的。原创 2024-03-20 17:26:00 · 8170 阅读 · 0 评论 -
若依ruoyi-vue中的参数验证
创建注解:首先创建一个注解类,用于标记需要进行校验的字段或方法。注解类通常使用@Target和@Retention注解指定其作用目标和生命周期。创建校验器:创建一个校验器类,实现ConstraintValidator接口,并在该类中编写校验逻辑。校验器类通常需要指定两个泛型参数,第一个参数是自定义注解的类型,第二个参数是要校验的字段或方法的类型。应用校验器:在需要校验的字段或方法上使用自定义注解,并指定校验器类。处理校验结果。原创 2024-03-19 17:47:04 · 841 阅读 · 0 评论 -
若依ruoyi-vue中的的DTO、VO、BO、PO、DO、POJO
POJO的定义是无规则简单的对象,在日常的代码分层中pojo会被分为VO、BO、 PO、 DTO。原创 2024-03-18 17:21:09 · 989 阅读 · 0 评论 -
若依logback日志配置采坑
推荐改成ThresholdFilter,ThresholdFilter也是基于日志事件的日志级别进行过滤的,但它只允许你指定一个阈值级别。只有达到或超过这个阈值级别的日志事件才会被允许通过过滤器。例如,如果你将阈值级别设置为WARN,那么只有WARN、ERROR和FATAL级别的日志事件才会被允许通过。若依使用的appender过滤器是level,如下述代码,这种过滤器只能导出级别为INFO的日志,warn和error都导出不出来。原创 2024-02-23 14:02:57 · 2355 阅读 · 0 评论 -
若依如何修改超级管理员登录密码
数据库找到sys_user表,复制System.out.println(result)打印出来的值,将admin的password改掉。进行密码加密是Spring Security推荐的安全做法,可以保证密码在存储和验证过程中的安全性。方法来修改超级管理员的密码。1.随便在哪个地方写个main 方法。通过以上步骤,你可以使用。原创 2023-05-30 18:35:39 · 9089 阅读 · 0 评论 -
若依源码解析:代码生成ruoyi-generator
若依的代码生成器模块(ruoyi-generator)可以根据数据库表的设计信息和配置的模板,自动生成相应的Java代码文件。代码生成器使用Velocity作为模板引擎,根据模板文件中的占位符和变量替换规则,将元数据信息嵌入到生成的代码中,生成具体的代码文件。通过导入表结构和生成代码两个后端接口,实现了快速导入数据库表结构和生成代码的功能。原创 2023-05-29 09:49:25 · 10203 阅读 · 0 评论 -
Springboot中拦截器和过滤器的区别
虽然拦截器和过滤器的功能有些重叠,但它们的应用场景不同。拦截器用于拦截请求并执行某些任务,而过滤器用于过滤和修改请求或响应。原创 2023-05-30 09:28:30 · 984 阅读 · 0 评论 -
若依源码解析:图片验证码生成
若依通过合理的验证码生成流程和相应的代码实现,为应用程序提供了生成图片验证码和基于数学运算的验证码文本的功能,以增加系统的安全性和防护能力。本文讨论了若依(Ruoyi)生成图片验证码的过程以及相关代码。首先,我们了解了生成图片验证码的基本步骤,包括生成随机字符串、创建图片对象、绘制背景和文本、添加干扰线等。接下来,我们分析了若依中的验证码生成控制器,它根据配置的验证码类型,在后台生成对应类型的验证码,并将验证码图片以Base64编码的形式返回给前端页面。原创 2023-05-28 11:20:03 · 3182 阅读 · 0 评论 -
解决MyBatis-Plus updateById方法更新不了空字符串或null
在用mybatis-plus封装的updateById方法来更新数据时,想把一个字段设置为null值,但是发现更新后数据没有为null还是原来的值,这是因为mybatis-plus在更新的时候做了null判断,默认不更新为null的传参。可以在配置文件中设置update-strategy为ignored来全局处理,也可以在字段上设置注解来单个处理:@TableField(updateStrategy = FieldStrategy.IGNORED)。原创 2022-09-16 20:38:04 · 5851 阅读 · 0 评论 -
springboot源码解析:用@RestControllerAdvice和@ExceptionHandler处理全局异常
本文讨论 Spring Boot 中的注解及其作用。注解用于定义全局异常处理器和全局数据绑定设置。它标记的类可以处理全局范围内的异常,并根据定义的处理方法执行自定义逻辑。我们还探讨了 Spring 底层是如何实现和处理的。Spring Boot 使用基于注解的配置方式,通过扫描和初始化标记了注解的类来创建全局异常处理器。该类中的方法使用注解来标记,用于处理特定类型的异常。通过 AOP 和事件机制,Spring 在关键的处理流程中拦截、处理异常和数据绑定,并使用。原创 2023-05-17 14:22:54 · 1031 阅读 · 0 评论 -
解析@ControllerAdvice、@ExceptionHandler和@RestControllerAdvice在Spring中的应用:如何优雅地处理Spring 全局异常
本文探讨Spring框架中的@ControllerAdvice、@ExceptionHandler和@RestControllerAdvice三个关键注解的应用,这些注解可以帮助开发人员高效地处理应用程序中的异常情况。我们将详细讲解这些注解的用法和示例,并介绍如何通过它们来处理全局异常和控制器层面的异常。阅读本文,你将了解如何优雅地处理异常,提高应用程序的健壮性和稳定性。原创 2023-02-20 18:08:20 · 962 阅读 · 0 评论 -
若依源码解析:RuoYi-Vue权限系统设计
若依(RuoYi)是一款基于Spring Boot和Vue.js开发的快速开发平台,它的权限管理是通过RBAC(Role-based Access Control 基于角色的访问控制)模型来设计的。RBAC模型将权限控制分为角色管理和权限管理两个部分。在若依中,角色是指对系统的一类用户或操作者的定义,而权限是指对系统中某个资源或操作的访问控制。通过为每个角色分配相应的权限,可以实现对系统的全面管理和控制。原创 2023-05-11 16:04:23 · 5653 阅读 · 0 评论 -
若依源码解析:用LoggingAspect进行日志处理
本文将深入探讨若依框架中的LoggingAspect切面的作用和重要性。LoggingAspect是若依框架中用于实现日志记录功能的切面组件,它通过切点和切面的概念,将日志记录逻辑与业务逻辑解耦,实现非侵入式的日志记录。文章首先介绍了切面编程和AOP的概念,然后重点讨论了LoggingAspect的作用,包括捕获方法调用、记录日志信息以及提供代码重用和可维护性等优势。此外,文章还解释了@Pointcut注解的作用,它用于定义切点表达式,精确定位目标方法。原创 2023-05-20 23:15:50 · 1755 阅读 · 0 评论 -
诺依文件上传支持阿里云oss
后端的实现相对简单,网上一大堆参考案例。前端主要是拿ImageUpload改造一下。原创 2022-12-30 10:43:46 · 2477 阅读 · 6 评论 -
若依源码解析:防止表单重复提交@RepeatSubmit、RepeatableFilter、RepeatedlyRequestWrapper和RepeatSubmitInterceptor
若依(Ruoyi)是一款基于Spring Boot和MyBatis的开源后台管理系统,它提供了一系列的拦截器(Interceptor)用于处理请求。其中,RepeatSubmitInterceptor(重复提交拦截器)是若依系统中的一个关键拦截器,用于防止用户重复提交表单请求。在Web应用程序中,用户可能会重复提交表单,例如在点击提交按钮后多次点击或者网络延迟造成用户误以为提交未成功而再次提交。这可能导致一些问题,例如重复的数据插入或重复的业务逻辑处理。原创 2023-05-17 19:00:48 · 4960 阅读 · 3 评论 -
若依源码解析:RuoYi-Vue登录和鉴权的实现
若依(RuoYi)是一款基于 Spring Boot 和 Vue.js 的开源权限管理系统,若依登录和鉴权的实现还包含验证码的生成与校验,这是为了增加系统的安全性,防止恶意攻击和暴力破解等行为。验证码生成前端页面:登录页面中的验证码显示区域,通常位于 Vue.js 的 src/views 目录下。验证码 API:后端应用的验证码接口。该接口接收请求并生成验证码图片,并将验证码字符保存在 Redis 或者内存中。原创 2023-05-15 08:58:00 · 8076 阅读 · 0 评论 -
若依源码解析:pagehelper和mybaties进行分页
在BaseController中有一个startPage()方法用于设置请求分页数据/*** 设置请求分页数据} }setLocalPage是将page保存到本地线程变量里面。/*** 开始分页* @param pageNum 页码* @param pageSize 每页显示数量* @param orderBy 排序} ··· /*** 开始分页* @param pageNum 页码* @param pageSize 每页显示数量。原创 2023-05-22 08:35:05 · 1060 阅读 · 0 评论 -
若依源码解析:DataScopeAspect实现数据范围的控制
*** 部门表的别名/*** 用户表的别名/*** 全部数据权限/*** 自定数据权限/*** 部门数据权限/*** 部门及以下数据权限/*** 仅本人数据权限/*** 拦截带有@DataScope注解的方法* 它接收JoinPoint和DataScope对象作为参数。拦截带有@DataScope注解的方法* DataScope是一个注解类。原创 2023-05-21 10:50:34 · 1501 阅读 · 1 评论