sa-token 统一redis 前缀

xml 复制代码
		<dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-reactor-spring-boot3-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-redis-jackson</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

启动类增加注解

java 复制代码
@EnableAspectJAutoProxy
java 复制代码
package com.ys.config;

import com.alibaba.fastjson2.JSON;
import com.ys.constant.RedisConstant;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

/**
 * @author kong
 */
@Aspect
@Component
@Slf4j
public class SaTokenDaoRedisJacksonAspect {

    // 定义切点,匹配SomeClass类的所有方法
    @Pointcut("execution(* cn.dev33.satoken.dao.SaTokenDaoRedisJackson.*(..))")
    public void methodPointcut() {
    }

    // 在方法执行前执行的操作
    @Around("methodPointcut()")
    public Object beforeMethod(ProceedingJoinPoint joinPoint) throws Throwable {
        Object[] args = joinPoint.getArgs();

        for (int i = 0, n = args.length; i < n; i++) {
            if (args[i] instanceof String temp) {
                if (temp.contains("token")) {
                    args[i] = RedisConstant.PREFIX + temp;

                }
            }
        }

        return joinPoint.proceed(args);
    }
}
相关推荐
纪莫7 分钟前
技术面:如何让你的系统抗住高并发的流量?
java·redis·java面试⑧股
spencer_tseng26 分钟前
Unlikely argument type for equals(): JSONObject seems to be unrelated to String
java·equals
遗憾随她而去.33 分钟前
前端浏览器缓存深度解析:从原理到实战
前端
爱敲代码的小鱼39 分钟前
事务核心概念与隔离级别解析
java·开发语言·数据库
小冷coding1 小时前
【Java】遇到微服务接口报错导致系统部分挂掉时,需要快速响应并恢复,应该怎么做呢?如果支付服务出现异常如何快速处理呢?
java·开发语言·微服务
万行1 小时前
企业级前后端认证方式
前端·windows
菜鸟小九1 小时前
redis高级(存储能力问题)
数据库·redis·缓存
2501_948120151 小时前
基于Vue 3的可视化大屏系统设计
前端·javascript·vue.js
一个处女座的程序猿O(∩_∩)O1 小时前
Nacos 中的 Namespace 深度解析:实现多租户隔离的关键机制
java
HeisenbergWDG1 小时前
线程实现runnable和callable接口
java·开发语言