麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

框架Hibernate Validator 簡介

2019-11-18 12:58:10
字體:
來源:轉載
供稿:網友

  用Annotations 給類或者類的屬性加上約束(constraint),在運行期檢查屬性值是很優雅的.Hibernate Validator就是這樣的一個框架.該框架是十分輕易的(就像參考文檔中宣稱的那樣),幾乎沒有什么學習曲線,Validator 是一個驗證框架 不需要和Hibernate的其他部分綁定就可以使用,只要在你的項目中添加Hibernate-annotations.jar庫就可以了.那么下面就讓我們看看怎么使用吧.

Person.java
/*
* Created on 2006-1-12 Person.java
* @author
*/
package test.annotation.validator;

import org.hibernate.validator.Length;
import org.hibernate.validator.Min;
import org.hibernate.validator.Valid;
 

//@Serializability  //測試自定義約束
public class Person {

  PRivate String name;
  private int age;
  private Address address;
  
  public Person() {}
  
  @Valid //注重此處
  public Address getAddress() {
    return address;
  }
  public void setAddress(Address address) {
    this.address = address;
  }
  
  @Min(value = 1)
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  
  @Length(min = 4)
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
}

Address.java 類

/*
* Created on 2006-1-12 Address.java
* @author
*/
package test.annotation.validator;

import org.hibernate.validator.Length;
import org.hibernate.validator.Max;
import org.hibernate.validator.Min;

public class Address {

  private String street;
  private int num;
  
  public Address() {}
  
  @Min(value = 1)
  @Max(value = 100)
  public int getNum() {
    return num;
  }
  public void setNum(int num) {
    this.num = num;
  }
  
  @Length(min = 3,max = 8)
  public String getStreet() {
    return street;
  }
  public void setStreet(String street) {
    this.street = street;
  }
}

  上面是兩個用 Validator Annotations 注釋的 類. 每個屬性都用 約束限制了.  下面看看測試的類吧:

TestValidator.java 類
/*
* Created on 2006-1-12
* @author icerain
*/
package test.annotation.validator;

import org.hibernate.validator.ClassValidator;
import org.hibernate.validator.InvalidValue;


public class TestValidator {
  public void test() {
    Address add = new Address();
    add.setNum(0);
    add.setStreet("1");
    
    Person p = new Person();
    p.setAddress(add);
    p.setAge(0);
    p.setName("ice");
    
    /******************Test validator ********/
    // 注重該處只驗證了Person 為了說明 @Valid 注釋的使用
    ClassValidator<Person> classValidator = new ClassValidator<Person> (Person.class);
    InvalidValue[] validMessages = classValidator.getInvalidValues(p);
    for (InvalidValue value : validMessages) {
      
    System.out.println("InvalidValue 的長度是:" + validMessages.length
        +" . 驗證消息是: " + value.getMessage()
        + " . PropertyPath 是:" + value.getPropertyPath()
        +" ./n/t PropertyName 是: " +value.getPropertyName()
        + "Value 是: " + value.getValue()
        +" Bean 是: "+ value.getBean()
        +"/n/t BeanClass 是:" + value.getBeanClass());
    }
  }
  
  public static void main(String[] args) {
    new TestValidator().test();
  }
}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久无码av | 91av网址| 亚洲成人在线免费观看 | 国产精品久久久久久影院8一贰佰 | 国产一级毛片高清视频完整版 | 成人黄视频在线观看 | 蜜桃视频在线免费播放 | 亚洲精品成人久久 | 久久电影一区二区 | 国产精品久久久久一区二区 | 成人毛片网 | 国产精品啪 | 亚洲生活片 | 国内精品伊人久久久久网站 | a级高清免费毛片av在线 | 国产在线精品区 | 日韩av电影免费看 | 日本一区免费看 | 8x成人在线电影 | 国产好片无限资源 | 丰满年轻岳中文字幕一区二区 | 久久国产精品久久久久久电车 | 国产一级一级 | 国产欧美日韩在线不卡第一页 | 国产精品18久久久久久久久 | 久国产精品视频 | 免费看a级片| 国产乱淫av片免费网站 | 欧美黑大粗硬毛片视频 | 99国产精品欲a | 欧美三级毛片 | 精品黑人一区二区三区国语馆 | 久久久久北条麻妃免费看 | 国产精品久久999 | 欧美三级欧美成人高清www | 高清成人在线 | 欧美一级一片 | 欧美日本中文字幕 | 久久99精品久久久久久久久久久久 | 欧美视频国产精品 | 欧美一级免费看 |