Java AOP 为什么能切入controller层,不能切入实体类层。实体类层用了lombok与persistence

自己定义了一个注解:@AttributeJudge
想用在实体类的属性上面。

@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited // 允许继承
public @interface AttributeJudge

实体类:

@Data
@Entity
@Table(name = "XXXX")
public class UserInfo  implements Serializable {

    /**
     *  用户Id
     */
    @Id
    private String userId;
    /**
     *  用户名称
     */
    @AttributeJudge
    private String userName;
}

在控制层(controller都能切入),但是在实体类属性上面无法切入。

@Aspect
@Component
public class AttributeJudgeAsprct {

    // 配置织入点
    @Pointcut("@annotation(com.cocosum.blog.core.AttributeJudge.AttributeJudge)")
    public void attributePointCut() {

    }

    @Around("attributePointCut()")
    public Object around(ProceedingJoinPoint pjp) throws Throwable {
        System.out.println(pjp);
        // 获取注解的 方法参数列表
        Object[] args = pjp.getArgs();
        System.out.println(args);
        // 放行
        return pjp.proceed();
    }
}       

求解,大佬们!!!!!
其实我想的是判断数据为空,如下:

if (StringUtils.isBlank(userName)) {
    return ResultUtils.returnError("用户名不能为空");
}
 if (StringUtils.isBlank(userPassword) || userPassword.length() < 6) {
    return ResultUtils.returnError("密码长度不能小于6位");
}

每次都写这种,很无奈,我想直接加一个注解,在实体类的属性上:
比如我的注解:
@AttributeJudge(isNull = YES, title = "用户名不能为空")
private String userName;
然后我去捕获。后台统一返回一个json。
有没有好的建议.......

tiankongzhichenglyf
tkzc_shark 解决了就好
3 个月之前 回复
qq_40058321
cocosum 回复tkzc_shark: 看错楼了。。。。不好意思。。不敢说话,你字多,跟你
3 个月之前 回复
tiankongzhichenglyf
tkzc_shark https://blog.csdn.net/zlj1217/article/details/81841004
3 个月之前 回复
tiankongzhichenglyf
tkzc_shark 我说的是自定用注解需要扫描配置,楼下说的是现成的工具类,添加jar包就可以
3 个月之前 回复
qq_40058321
cocosum 回复tkzc_shark: 你说的这个hibernate-validator我没用过,我在试
3 个月之前 回复
tiankongzhichenglyf
tkzc_shark 回复cocosum: 有功夫编辑问题,没功夫回复答案?
3 个月之前 回复
qq_40058321
cocosum 不是因为实体类private 问题。
3 个月之前 回复

2个回答

注解使用需要扫描实例化该注解

如果仅仅只是用于判断不可为空或者其他规则,为何不适用hibernate-validator呢?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
java aop写日志并发出现问题,怎么解决?
2
springboot报错java.lang.NoClassDefFoundError
2
通过Spring 的AOP实现日志, 当通过反射获取方法对象时报错"NoSuchMethodFoundException"
0
springboot aop为什么RequestContextHolder.getRequestAttributes()返回空
1
Spring aop配置事务出错。
1
grpc连接服务器报错,连接报Make sure to call shutdown()
1
spring aop 事务拦截问题
1
AOP 中如何获取 Model 对象
2
springboot使用AOP切面配置hikari多数据源,new Thread时saveOrUpdate不能更新到数据库,不使用则正常?
6
springboot aop 每次请求都有相同代码 可以提出来变aop吗
1
Hibernate跳錯 org.hibernate.hql.internal.ast.QuerySyntaxException
2
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'aop:config'.
3
Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
4
Java ssm 框架 访问报错500
2
救急,SpringMVC非Controller类中使用任务列队操作service无法连接数据库?
1
如何用spirng aop aspectj自定义注解 切 servlet中的doPost
2
自定义Spring-boot的starter实现AOP记录用户的操作,在其他微服务引用时为什么不起作用?
2
spring除了aop还有哪些地方是通过动态代理实现的?
2
请教大神easyexcel报错
0
springboot2.1.4 + jpa + hibernate 使用aop注解形式实现多数据源管理 可能懒加载出现问题求大神解答