专栏名称: Java知音
专注于Java,推送技术文章,热门开源项目等。致力打造一个有实用,有情怀的Java技术公众号!
今天看啥  ›  专栏  ›  Java知音

一个注解,优雅实现数据脱敏

Java知音  · 公众号  ·  · 2024-10-17 10:05

文章预览

咱又手痒造轮子啦!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 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览