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

请问下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日