m0_57704312 2023-08-06 14:56 采纳率: 0%
浏览 5

请问下aop 为什么没有生效,没有执行invoke

@Slf4j
@Aspect
@Component
public class SensitiveAspect {

    @Around("@annotation(com.caroLe.manager.common.annotation.Sensitive)")
    public Object invoke(ProceedingJoinPoint point) throws Throwable {
        log.info("执行SensitiveAspect");
        Object target = point.getTarget();
        Field[] fields = target.getClass().getDeclaredFields();
        for (Field field : fields) {
            Sensitive annotation = field.getAnnotation(Sensitive.class);
            if (annotation != null) {
                Object value = field.get(target);
                DesensitizedUtil.DesensitizedType desensitizedType = annotation.type();
                String desensitized = DesensitizedUtil.desensitized(value.toString(), desensitizedType);
                field.set(target, desensitized);
            }
        }
        return target;
    }
}
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface Sensitive {

    /**
     * 脱敏数据类型
     */
    DesensitizedUtil.DesensitizedType type() default DesensitizedUtil.DesensitizedType.CHINESE_NAME;
}
        TbDriver tbDriver = new TbDriver();
        BeanUtils.copyProperties(updateDriverAuthFormVO, tbDriver);
        tbDriver.setId(updateDriverAuthFormVO.getDriverId());
        tbDriver.setRealAuth(DriverStatusEnum.REDUCE_ORDER_VOLUME.getCode());

        @Sensitive(type = DesensitizedUtil.DesensitizedType.CHINESE_NAME)
    @ApiModelProperty("姓名")
    private String name;
  • 写回答

2条回答 默认 最新

报告相同问题?

问题事件

  • 创建了问题 8月6日

悬赏问题

  • ¥20 用c++完成两道大题,要求提供.h和.cpp,以及用来测试的main.cpp
  • ¥15 2024电赛H题指导
  • ¥15 第三方如何控制E8a进行烧录
  • ¥15 关于lua调用DLL的c/c++动态库(相关搜索:数据库)
  • ¥15 openwrt结合智能家居(相关搜索:路由器)
  • ¥15 求一款免费的pdf编辑js,web端用的
  • ¥15 求分析下图晶体与三极管组成的振荡电路
  • ¥100 多线程+连接池+代理 运行一段时间线程阻塞
  • ¥15 关于#单片机#的问题:求一个使用C语言将重力加速度gx,gy,gz积分获取到速度的代码(相关搜索:c语言)
  • ¥15 matlab导致电脑重启问题