登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
Gitee 2025年度开源项目评选启动,快来选出你心中的最佳开源项目!
代码拉取完成,页面将自动刷新
开源项目
>
WEB应用开发
>
后台管理框架
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
1.2K
Star
15K
Fork
8.8K
dromara
/
RuoYi-Vue-Plus
代码
Issues
4
Pull Requests
0
统计
流水线
服务
JavaDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
730
update 把数据权限注解全部交给AOP处理;update 限流注解支持添加到类上面,对所有被代理的方法生效
已关闭
秋辞未寒:dev
dromara:dev
秋辞未寒
创建于 2025-07-25 02:20
克隆/下载
HTTPS
SSH
复制
下载 Email Patch
下载 Diff 文件
1. update 把数据权限注解全部交给AOP处理,应用启动时不再进行多余的Mapper扫描操作 2. update 限流注解支持添加到类上面,对所有被代理的方法生效,方法上的注解优先 --- ### 更改目的 解决了什么问题(请提交到dev分支) 减少不必要的类加载和扫描扫描 ### 改动逻辑 这么写的思路(让作者更好的理解你的意图) 1. 通过优化数据权限注解处理器的切入点条件,拿到被代理的对象实例,从而取得类上面的注解,被代理的方法同样不影响,且方法的优先级更高。 核心改动:`org.dromara.common.mybatis.aspect.DataPermissionAspect`类 ```java @Before(value = "@annotation(org.dromara.common.mybatis.annotation.DataPermission) || @within(org.dromara.common.mybatis.annotation.DataPermission)") public void doBefore(JoinPoint joinPoint) { DataPermission dataPermission = null; // 优先获取方法上的注解 if (joinPoint.getSignature() instanceof MethodSignature signature) { dataPermission = AnnotationUtils.findAnnotation(signature.getMethod(), DataPermission.class); // log.info("数据权限处理器拦截方法: {}\t方法是否具有数据权限注解:{}", signature.getMethod().getName(),dataPermission != null); } // 如果方法上不存在,则获取类上的注解 if (dataPermission == null) { dataPermission = AnnotationUtils.findAnnotation(joinPoint.getTarget().getClass(), DataPermission.class); // log.info("数据权限处理器拦截类: {}\t类是否具有数据权限注解:{}", joinPoint.getTarget().getClass().getCanonicalName(),dataPermission != null); } // log.info("数据权限注解:{}",dataPermission); // 因为处理条件是 @annotation(DataPermission) || @within(DataPermission) ,所以方法上的注解或者类上的注解必然会一个不为空,否则不会进入到此代理方法 DataPermissionHelper.setPermission(dataPermission); } ``` 2. 限流注解的改动原理与数据权限注解一致 ### 测试 都做了哪些测试(未经过测试不采纳) 已测试
此 Pull Request 需要通过一些审核项
类型
指派人员
状态
审查
疯狂的狮子Li
进行中
(0/1人)
怎样手动合并此 Pull Request
git checkout dev
git pull https://gitee.com/ColorDreams/RuoYi-Vue-Plus.git dev
git push origin dev
评论
1
提交
3
文件
6
检查
代码问题
0
批量操作
展开设置
折叠设置
审查
Code Owner
审查人员
shenxinquan
shenxinquan
Yjoioooo
zj_Gitttttttte
友杰
youjieForGit
孤舟烟雨
gzyy
根原
genYuanSpace
May
sgs98
姚海陆
godzt
LiuHao
lhailgl
KonBAI
KonBAI-Q
风如歌
MR-wind
三个三
thiszhc
玲娜贝er
dapppp
秋辞未寒
ColorDreams
AprilWind
AprilWind123
Lau
devlau
疯狂的狮子Li
JavaLionLi
抓蛙师
bkywksj
MichelleChung
michelle1028
未设置
最少人数
1
测试
shenxinquan
shenxinquan
Yjoioooo
zj_Gitttttttte
友杰
youjieForGit
孤舟烟雨
gzyy
根原
genYuanSpace
May
sgs98
姚海陆
godzt
LiuHao
lhailgl
KonBAI
KonBAI-Q
风如歌
MR-wind
三个三
thiszhc
玲娜贝er
dapppp
秋辞未寒
ColorDreams
AprilWind
AprilWind123
Lau
devlau
疯狂的狮子Li
JavaLionLi
抓蛙师
bkywksj
MichelleChung
michelle1028
未设置
最少人数
0
优先级
不指定
严重
主要
次要
不重要
标签
标签管理
未设置
关联 Issue
未关联
Pull Request 合并后将关闭上述关联 Issue
里程碑
未关联里程碑
5.2.0
5.3.0
参与者
(2)
Java
1
https://gitee.com/dromara/RuoYi-Vue-Plus.git
[email protected]
:dromara/RuoYi-Vue-Plus.git
dromara
RuoYi-Vue-Plus
RuoYi-Vue-Plus
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册