今天,我用Spring Boot做项目时,突然发现@NotEmpty注解找不到了。
于是,我上网查了一下,好像新版的Spring Boot不再自动集成hibernate-validation,需要手动添加依赖。
在pom.xml中添加如下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
完整的pom.xm文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.lyh</groupId>
<artifactId>phone_store</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>phone_store</name>
<description>手机商城</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
package com.lyh.form;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
/**
* @author martin
* @date 2021/1/27
**/
@Data
public class AddressForm {
private Integer id;
@NotEmpty(message="姓名不能为空!")
private String name;
@NotEmpty(message="手机不能为空!")
private String tel;
@NotEmpty(message="省不能为空!")
private String province;
@NotEmpty(message="市不能为空!")
private String city;
@NotEmpty(message="区不能为空!")
private String county;
@NotEmpty(message="编号不能为空!")
private String areaCode;
@NotEmpty(message="详情地址不能为空!")
private String addressDetail;
}
1、 @NotEmpty :不能为null,且size>0
2 、@NotNull:不能为null,但可以为empty,没有size的约束
3 、@NotBlank:只用于String,不能为null且trim()之后size>0