【前言】
项目中对一些手机号邮箱什么的,我们在数据库存储的是加密状态,但是我们在实际在后端传参数的时候,传的是手机号并未加密,这时候我们就需要做下处理,自动把手机号加密,或者当查出来的手机号是加密状态,我们自动给它解密。
【实战】
一、定义拦截类
package com.zhipin.crm.customer.base.encrypt;
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.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
@Component
@Aspect//定义切面
@Slf4j
public class SafeDAOConfig {
@Pointcut("execution(* com.zhipin.crm.customer.*.dao.*.*(..))")//拦截dao层
private void pointcut() {}
@Around("pointcut()")
public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();//拿到了方法和参数