
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
摘要:本文记录了将网关(Gateway)中的白名单配置从Nacos迁移到数据库的改造过程。作者基于SaToken认证框架,通过全局搜索定位到认证核心逻辑代码位置,将白名单读取从Nacos改为数据库缓存。改造过程中遇到数据库SQL自动升级任务与缓存加载的顺序问题,通过分析@PostConstruct的执行时机和Spring后置处理器(BeanPostProcessor)的调用流程,最终采用最基础的B

前言:在我们向数据库插入一条数据的时候,少不了一些向createTime、updateTime此类字段,每次插入的数据都要设置这些个值,很烦,通过实现MetaObjectHandler接口重写insertFill、updateFill方法可以帮你摆脱烦恼本文概括MetaObjectHandler介绍1:编写MetaObjectHandler 实现类2:实体类上边加上@TableField(fill

前言:前段时间不是在实习嘛,公司用的是注解开发不用xml的,特此记录注解版动态拼接sql,还有使用过程中踩坑集合。先记录1.0版本,以后遇到别的在完善就是。其实就是在xml那种格式下面最外面一层用< /script > 标签包住就行了,其余部分用英文双引号包住,表达式用单引号包住就ok了,@Param(“idMin”) Integer idMin与#{idMin}对应。不过我这里如果i
现在手上有个系统写操作比较少,很多接口都是读操作,也就是写多读少,性能上遇到瓶颈了,正所谓前人栽树、后人乘凉,原先系统每次都是查数据库的,性能比较低,如果先查 redis,redis 没数据再查数据库的话,但是还可以更快,那就是使用内存查询,依次按照内存、redis、db的顺序从快到慢查询,可使系统整体的性能提升一个档次,但是仅限于读多写少的场景,写多读少的场景没必要搞这么多缓存,搞多了缓存一致性

准备数据新建俩张表(student表,clalss表)sql语句如下:create table student(sId int primary key auto_increment,sName varchar(20) not null,cId int not null,constraint f_sid_cid foreign key(cId) references class(cId))engin
spring:redis:database: 2host: ${REDIS_HOST:127.0.0.1}port: ${REDIS_PORT:6379}host: ${REDIS_HOST:127.0.0.1}表示从配置文件yml中或者启动命令中读取REDIS_HOST的值,如果从命令行中没有读取到REDIS_HOST的值,就是用默认值。这样的好处是换一个新的环境时,不用改配置文件,直接在启动命
大致步骤新建一个springboot项目名字为father选中father右键新建子模块,子模块也是勾选新建springboot的项目,依次创建entiy和web模块(关键是并配置好pom文件)web模块依赖于entiy模块中的实体类,创建测试controller,先测试项目没问题再开始打包(jar)开始打包测试jar是否有用创建项目注意点:子模块需要保留xx.iml、xx.mvn文件,父模块保留

正所谓前人,栽树后人乘凉。随着项目业务逻辑越来越复杂,屎山代码越积越高,部分接口的响应速度开始变的有点慢,于是乎想着用 CompletableFuture 去将代码去优化一下。但是优化着优化着就感觉有点不对劲了,电脑温度蹭蹭的往上涨,一看内存都要爆了。oom一下子就出现了。创建一个异步任务并执行返回值为1return 1;});阻塞主线程,等待 task1、task2 都执行完毕获取 task1

emmm时隔一个多月没写博客了,我终于还是没忍住对mybatis这个框架下手了哈哈哈哈。搞懂源码就是爽啊mybatis是一款持久性的ORM框架,目的在于把数据库中的表中的信息转换成对象供我们操作,也就是说我们对数据库的操作有了mybatis可以转变为对对象的操作。mybatis是怎么实现的呢?要记到一点市面上所有的ORM框架无论如何都离不开JDBC操作,我们所谓的mybatis也好hibernat

最近公司的私有 Oss 服务满了,且 Oss 地址需要设置权限,只有当前系统的登录用户才能访问 Oss 下载地址。一开始想着用 Nginx 做个转发来着,Nginx 每当检测当前请求包含特定的 Oss 地址就转发到我们的统一鉴权接口上去,但是紧接着又细想了一下,转发后的地址被恶意分享出去了,不也还是存在文件泄露的风险吗?于是又去翻阅了一下阿里云的 Oss 权限相关的文档。借此整合一些常用的方法,机








