博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用JSR-303做验证验证service层
阅读量:2493 次
发布时间:2019-05-11

本文共 1177 字,大约阅读时间需要 3 分钟。

我把注解@valid放在servevice层上是没有效果的,只有放在Controller上才有效果。

可以手动校验,调用ValidatorFactory工厂方法创建一个实例对象来校验,代码如下。

import javax.validation.ConstraintViolation;import javax.validation.Validation;import javax.validation.Validator;import javax.validation.ValidatorFactory;import javax.validation.constraints.Min;import javax.validation.constraints.NotNull;import java.util.Set;class Test{    private static class User {        @NotNull(message = "姓名不能为空")        private String name;                @Min(value = 1 ,message = "年龄不能小于0")        @NotNull(message = "age不能为空")        private Integer age;        @NotNull(message = "id不能为空")        private Integer id;        //省略get set方法    }    //验证代码    public static void main(String[] args) {        User user = new User();        validate(user);    }    private static void validate(Object o){        ValidatorFactory vf = Validation.buildDefaultValidatorFactory();        Validator validator = vf.getValidator();        Set
> set = validator.validate(o); for (ConstraintViolation constraintViolation : set) { System.out.println(constraintViolation.getPropertyPath()+":"+constraintViolation.getMessage()); } }}

 

转载地址:http://goorb.baihongyu.com/

你可能感兴趣的文章
vnpy学习_06回测结果可视化改进
查看>>
读书笔记_量化交易如何建立自己的算法交易01
查看>>
设计模式03_工厂
查看>>
设计模式04_抽象工厂
查看>>
设计模式05_单例
查看>>
设计模式06_原型
查看>>
设计模式07_建造者
查看>>
设计模式08_适配器
查看>>
设计模式09_代理模式
查看>>
设计模式10_桥接
查看>>
设计模式11_装饰器
查看>>
设计模式12_外观模式
查看>>
设计模式13_享元模式
查看>>
设计模式14_组合结构
查看>>
设计模式15_模板
查看>>
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>