标签:
约束继承
如果要验证的对象继承于某个父类或者实现了某个接口,那么定义在父类或者接口中的约束会在验
证这个对象的时候被自动加载,如同这些约束定义在这个对象所在的类中一样. 让我们来看看下面
的示例:
package com.mycompany; import javax.validation.constraints.NotNull; public class RentalCar extends Car { private String rentalStation; public RentalCar(String manufacturer, String rentalStation) { super(manufacturer); this.rentalStation = rentalStation; } @NotNull public String getRentalStation() { return rentalStation; } public void setRentalStation(String rentalStation) { this.rentalStation = rentalStation; } }
我们有了一个新的 RentalCar 类继承自前面我们已经见到的 Car , 这个子类中增加了一个
rentalStation属性. 如果校验一个 RentalCar 的实例对象, 那么不仅会验证属性rentalStation上
的 @NotNull 约束是否合法,还会校验父类中的manufacturer属性.
如果类 Car 是一个接口类型的话也是一样的效果.
如果类 RentalCar 重写了父类 Car 的 getManufacturer() 方法, 那么定义在父类的这个方法上的约束和
子类这个方法上定义的约束都会被校验.
标签:
原文地址:http://www.cnblogs.com/wangyang108/p/5665051.html