文章预览
咱又手痒造轮子啦!Hutool工具包有这个一个类 DesensitizedUtil 实现了一些常见业务数据类型的脱敏,像手机号,中文名,身份证号,银行卡号等。那咱就基于它写一个全局切面,需要脱敏的用注解标识,思路有了说干就干。 咱先定义一个切入点注解 @DataDesensitized @Target ({ElementType.METHOD}) @Retention (RetentionPolicy.RUNTIME) @Documented public @interface DataDesensitized { } 然后咱再定义一个注解标识字段脱敏 @Desensitized @Target ({ElementType.FIELD, ElementType.ANNOTATION_TYPE}) @Retention (RetentionPolicy.RUNTIME) @Documented public @interface Desensitized { //加上hutool类中的脱敏类型枚举选择脱敏策略 DesensitizedUtil. DesensitizedType type () ; } 最后写切面类 @Aspect @Component @Slf 4j public class DataDesensitizedAspect { @AfterReturning (pointcut = "@annotation(dd)" , returning = "result" ) publi
………………………………