验证实体类上的注释

public class Test {

    private static Validator validator;

    static {
//        validator = Validation.buildDefaultValidatorFactory().getValidator();
        ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
                .configure()
                // 快速失败模式
                .failFast(false)
                .buildValidatorFactory();
        validator = validatorFactory.getValidator();
    }

    public static <T> ValidationResult validateEntity(T obj) {
        //解析校验结果
        try {
            Set<ConstraintViolation<T>> validateSet = validator.validate(obj, Default.class);
            return buildValidationResult(validateSet);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            return null;
        }
    }

    private static <T> ValidationResult buildValidationResult(Set<ConstraintViolation<T>> validateSet) {
        ValidationResult validationResult = new ValidationResult();
        if (!validateSet.isEmpty()) {
            validationResult.setHasErrors(true);
            Map<String, String> errorMsgMap = new HashMap<>();
            for (ConstraintViolation<T> constraintViolation : validateSet) {
                errorMsgMap.put(constraintViolation.getPropertyPath().toString(), constraintViolation.getMessage());
            }
            validationResult.setErrorMsg(errorMsgMap);
        }
        return validationResult;
    }
    }
    
    用Test.validateEntity(传相应的实体)能够输出相应的结果。
        c1 c1 = new c1();
        ValidationResult validationResult = Test.validateEntity(c1);
        log.info(JSON.toJSONString(validationResult));
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在UML(统一建模语言)中,状态图用于描述对象在其生命周期中的行为和状态变化。如果我们要创建一个银行系统的实体类状态图,主要涉及以下几个关键元素: 1. **实体类**:如账户(Account),客户(Customer),交易(Transaction)等。这些是状态图中的参与者。 2. **状态**:账户可能的状态包括"激活"、"挂失"、"冻结"、"存款"、"取款"等。客户状态可能有"新客户"、"活跃"、"注销"等。 3. **转换**:当满足特定条件时,例如输入密码验证或完成转账操作,账户或客户会从一种状态转变到另一种状态。 4. **事件**:可能是用户操作(如登录、存款、取款请求),系统事件(如利息计算、账单到期)等。 5. **消息**:状态间的转变通常由发送消息触发,例如"客户登录"导致"账户激活"。 6. **活动图/生命线**:用于表示对象的行为和执行过程。 **绘制步骤**: - 为每个实体类创建一个矩形框,并标注类名。 - 绘制各个状态作为状态机的各个阶段,用椭圆或矩形表示,并标记状态名称。 - 使用箭头连接状态,表示可能的转变,箭头上标注事件或消息。 - 添加必要的注释解释何时以及如何发生状态变化。 **相关问题**: 1. UML状态图中如何表示对象的生命周期变化? 2. 在银行系统中,哪些常见的事件可以触发状态转换? 3. 如何使用活动图进一步详细描述状态之间的交互过程?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值