1、用户(设置密码、盐值、加密、解密)、组织(id和名称)。
盐值用来加密和解密数据。是要落库的。
2、抽象类的运用。
抽象方法:validateData、beforeCreate(区别是创建之前没有id,而修改的话,id是存在的)、beforeUpdate.
匿名类(一次性使用(比如线程和监听的匿名类)和覆写抽象方法(可以是抽象类也可以是interface)的场景使用):new DataValidator(){override}
覆写:validateData、beforeCreate、beforeUpdate
私有:private DataValidator的实例,只可以在当前类可以被访问。
受保护:validateData、beforeCreate、beforeUpdate,只可以被同一个包内的位置可以被访问,如果有一个不是同包的子类,也可以调用该方法。
公共:validate(),在任意一个位置被调用,在该方法中调用了那三个私有方法。
泛型:DataValidator<指定实体类的类型>,通过覆写的方式校验该类型的属性。
异常处理:throw,该校验只抛出异常,需要在业务中捕获处理。
3、shandy的@validated封装了springboot@Validation。指定Constant为Update.class后,会校验dto的id是否为null;