@NotEmpty 用在集合类上面 @NotEmpty的String类、Collection、Map、数组,是不能为null或者长度为0的(String、Collection、Map的isEmpty()方法)
@NotBlank 用在String上面 和{@code NotEmpty}不同的是,尾部空格被忽略,也就是说,纯空格的String也是不符合规则的。所以才会说@NotBlank用于String。
@NotNull 用在基本类型上 不能为null
@NonNull 指明一个参数 字段或者方法返回值不可以为null
@AllArgsConstructor 所有参数构造方法
@NoAragsConstructor 无参构造方法
@Data提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集。
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@Builder 把Bean类包装为一个构建者模式 编译时增加了一个Builder内部类和全字段的构造器(没有getter setter toString 方法)
@Synchronized 同步方法的注解
@EqualsAndHashCode 1. 此注解会生成equals(Object other) 和 hashCode()方法。
2. 它默认使用非静态,非瞬态的属性
3. 可通过参数exclude排除一些属性
4. 可通过参数of指定仅使用哪些属性
5. 它默认仅使用该类中定义的属性且不调用父类的方法
6. 可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。
有多个类有相同的部分属性,把它们定义到父类中,恰好id(数据库主键)也在父类中,那么就会存在部分对象在比较时,它们并不相等,却因为lombok自动生成的equals(Object other) 和 hashCode()方法判定为相等,从而导致出错。使用在使用@Data时同时加上@EqualsAndHashCode(callSuper=true)注解。
· @XmlRootElement // xml 文件的根元素 将类或枚举类型映射到 XML 元素。JAXB中的注解,用来根据java类生成xml内容
· @XmlElement
· @XmlAccessorType // 控制默认情况下是否对字段或 Javabean 属性进行系列化。
· @XmlTransient
· @XmlJavaTypeAdaptor:参考Using JAXB 2.0's XmlJavaTypeAdapter
@Valid 适用Any non-primitive type(引用类型)验证关联的对象,如账户对象里有一个订单对象,指定验证订单对象
@Pattern(regex=正则表达式, flag=)验证注解的元素值与指定的正则表达式匹配
@Past验证注解的元素值(日期类型)比当前时间早
@Length(min=下限, max=上限) 验证注解的元素值长度在min和max区间内
@Email验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式
@Validated和BindingResult bindingResult是配对出现,并且形参顺序是固定的(一前一后)。校验的错误信息, 可以直接在bean属性上配置, 也可以在properties中配置。 2. 将校验器bean配置到注解驱动上
controller处理方法的形参pojo定义的对象与此类型同名 ,首字母小写,此时spring能自动将该 对象名为key,此对象作为value,保存到request中。(必须注意:方法形参必须定义HttpServletRequest对象)