一个关于Mybatis和spring的公共组件starter

news/2024/3/29 19:46:04/文章来源:https://blog.csdn.net/weixin_44102992/article/details/130351825

utils-springboot-starter

    • 介绍
    • 使用说明

介绍

一个关于Mybatis和spring的公共组件starter,目前包含以下功能:

  • 接口请求日志
  • SQL执行日志
  • 数据自动加解密
  • 数据自动脱敏
  • 服务治理方面:
    • 接口限流
    • 接口熔断降级:CPU、内存、异常数、异常率指标
    • 方法调用重试

项目地址:gitee 、GitHub
觉得不错的点个star吧

使用说明

  • 接口请求日志

    请求日志需在接口层面打上@RequestLog注解

  • SQL执行日志

    需要在配置文件中配置开启日志打印

在这里插入图片描述

  • 数据自动加解密
    1. 在Mapper中加上@EncryptAndDecry注解,并选择加解密方式以及加解密字段(实体类中的)

    2. 如下(查询自动解密,更新或插入自动加密):

      在这里插入图片描述

    3. 说明:MD5只能加密,AES、RAS加解密还需要在配置文件中配置KEY:

my-utils:config:# RES 方式需要配置16位加解密keyaes-key: 1234567891123456# RSA 需要配置公钥和私钥rsa-private-key: xxxrsa-public-key: xx

注意: 加密后为字符串,注意格式!

  • 数据自动脱敏

    1. 在接口层面打上@DataDesensitization注解
    2. 在接口需要返回的实体类中对需要脱敏的字段打上@DataDesensitizationMode注解即可
    3. @DataDesensitizationMode使用说明:
    4. 内置了几种常见的脱敏类型,如姓名、地址、手机号、邮箱、身份证等
    5. 支持自定义,两种方式(同时配置,正则优先):
      • 字符替换为"*":自己配置需要替换的字符串区间 [startInclude,endExclude]
      • 正则替换:自己配置正则表达式(regex),替换匹配的内容为(replacedChar ,默认"*")
    6. 脱敏类型,见DesensitizationTypeEnum枚举类,自定义时配置为其他
  • 服务治理

    1. 接口限流:接口打上@AnRateLimiter注解:

      在这里插入图片描述

    2. 熔断降级:接口打上@AnHystrix注解(支持4个指标CPU、内存、异常数、异常率)

      在这里插入图片描述

    3. 方法重试机制:方法上打上@AnRetry注解(重试需注意事务等问题)

      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_102940.aspx

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

相关文章

win11 环境下streamlit使用pycharm debug

目录 1. pycharm中配置run 脚本2. streamlit3. 开始debug调试 1. pycharm中配置run 脚本 (一)点击 Edit Configurations,按图操作. 2. streamlit 1.streamlit 安装在 anaconda 的 base 环境(随意哈,安装哪里都可以&#xff0c…

问题定位及解决方案

1.视频沉浸页快速滑动后,必现不能向下划动 复现步骤: 进入视频沉浸页,快速向下划动,滑动到第一页最后一个时,不能再向下划动。 解决步骤: 1.确定请求API: mtop.aliexpress.ugc.feed.video.lis…

PE文件反编译为python脚本流程

1、查壳 DetectltEasy、PeiD查壳 2、脱壳 常见打包工具PyInstaller,脱壳方法 (1)用pyinstxtractor.py脱壳,用”python pyinstxtractor.py 1.exe“命令,生成“.exe文件名_extracted” (2)用…

深度学习技巧应用8-各种数据类型的加载与处理,并输入神经网络进行训练

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用8-各种数据类型的加载与处理,并输入神经网络进行训练。在模型训练中,大家往往对各种的数据类型比较难下手,对于非结构化数据已经复杂的数据的要进行特殊处理&…

LeetCode:6390. 滑动子数组的美丽值

🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀 算法专栏: 👉🏻123 一、🌱6390. 滑动子数组的美丽值 题目描述:给你一个长度为 n 的整…

波形生成:均匀和非均匀时间向量

波形生成—— 脉冲、chirp、VCO、正弦函数、周期性/非周期性和调制信号 使用 chirp 生成线性、二次和对数 chirp。使用 square、rectpuls 和 sawtooth 创建方波、矩形波和三角形波。 如需了解此处未显示的其他无线波形生成功能,请参阅无线波形发生器 (Communicat…

完整的生产车间管理流程是怎样的?六大步骤分享

阅读本文您将了解:1.生产车间管理的特征;2.生产车间管理流程具体步骤;3.生产车间管理流程规范的重要性。 一、生产车间管理的特征 车间管理是指对车间所从事的各项生产经营活动进行计划、组织、指挥、协调和控制的一系列管理工作。生产车间…

巧用千寻位置GNSS软件| 电力线勘测如何实现?

正如大家所知,电力线勘测是在做电力线路设计之前对设计线路沿途自然环境进行勘察测量,最后把手簿测量数据在电脑端经过转换输出为电力软件专用格式数据的专用功能。 那么在千寻位置GNSS软件中该如何操作完成电力线的勘察测量呢? 点击【测量】…

SwiftUI 中 TabView 如何原生使用类 UIPageView 的翻页样式?

功能需求 我们知道 TabView 是 SwiftUI 中非常好用的布局组织容器,它可以分类组织视图并依次展示给用户。 从 SwiftUI 2.0 开始(iOS 14.0+),TabView 除了常规的以标签(Tab Label)样式显示外,还可以用类似 UIPageView 的样式分页原生显示视图,显得更加简洁: 如上图所…

AWT-对话框——Dialog以及其子类FileDialog

Dialog: Dialog时Window类的子类,时一个容器类,属于特殊组件。对话框是可以独立存在的顶级窗口,因此用法与普通窗口的用法几乎完全一样,但是使用对话框需要注意以下几点: 对话框通常依赖于其它窗口,就是通…

基于Java+SpringBoot+vue学生学习平台详细设计实现

基于JavaSpringBootvue学生学习平台详细设计实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目…

AI Stable Diffusion Prompt参数【二】之 生成效果查验

AI Stable Diffusion Prompt参数【二】之 生成效果查验 效果国漫风生成参数配置prompt:Negative prompt:Model:Steps:Sampler:CFG scale:Clip skip:Model hash:Hires upscale:Hires upscaler:Denoising strength: 全部效果 效果 国漫风生成参数配置 prompt&#xf…

拉格朗日粒子扩散模式FLEXPART

为了高效、精准地治理区域大气污染,需要弄清污染物的来源。拉格朗日粒子扩散模式FLEXPART通过计算点、线、面或体积源释放的大量粒子的轨迹,来描述示踪物在大气中长距离、中尺度的传输、扩散、干湿沉降和辐射衰减等过程。该模式既可以通过时间的前向运算…

汇编与内联 x86-64

机器字长 x86是32位系统 64是64位系统 这里的32和64,指的都是机器字长 机器字长是 能直接进行整数/位运算的大小指针的大小(索引内存的范围) 容易与机器字长混淆的概念:字 字 字存储字长 字是MDR寄存器的位数,代表每个主存存储体中的存储…

[HDU - 4578]Transformation(线段树+多重懒标记)

[HDU - 4578]Transformation(线段树多重懒标记) 一、问题二、分析1、节点定义2、pushup3、pushdown(1)每种标记如何下传?赋值乘法加法 (2)三种标记下传的优先级问题 三、代码 一、问题 二、分析…

C++数据结构:手撕AVL树

目录 一. 什么是AVL树 二. AVL树的节点定义 三. AVL树的插入操作 3.1 寻找插入位置 3.2 更新平衡因子 3.3 AVL树的旋转调整 3.4 AVL树插入操作的整体实现 四. AVL树的检验 附录:AVL树的实现完整代码 AVL树定义代码 -- AVLTree.h AVL树检验代码 -- test.…

MFC加载动态gif图片文件C++语言,基于MFC的动画播放控件

MFC加载动态gif图片,使用VS2015环境 一、将下载的PictureEx.h和PictureEx.cpp放在工程文件的目录下,动态gif图片放在工程文件的res文件夹下;(GIF动图下载 https://icons8.com/preloaders/en/search/move) &#xff08…

软考软件设计师 操作系统笔记

操作系统地位 程序顺序执行(进程管理) 程序顺序执行的特征,顺序性封闭性可再现性 前趋图 P1结束后 V操作 SS1 P2操作前先执行S S -1 此时S0 一个箭头对应一个信号量 程序并发执行和前驱图 找到输入i计算c输出p,如果找不到就…

“老司机”机器视觉工程师警告,硬件,软件,固件,程序使用新版本务必谨慎

做任何事情之前,程序先保存。没保存,真的会哭的。千万别保存在系统盘。​ 机器视觉最终的目的解决是什么问题?项目验收结束。 如果公司不知道或者希望去测试新的东西,要积极主动去使用,也会学到很多新的东西&#xff…

Java版本企业电子招投标采购系统源代码——功能模块功能描述+数字化采购管理 采购招投标

​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外…