现在的教程过时太快了,学着学着突然间就发现有些好用的东西被废弃了,这不, SpringBoot 2.3.0 中默认放弃了对 javax.validation
的支持。 然后我们就会发现 org.springframework.validation.annotation.Validated
注解还在,但是 @Valid
、@NotEmpty
等等注解都不在了。
那么就不能用这些注解了嘛? 也不是,我们要自己手动引入了
gradle
implementation 'org.springframework.boot:spring-boot-starter-validation'
maven
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
其实引入上面的包后,我们还会发现一个问题,会同时存在两个 @NotEmpty
的注解
org.hibernate.validator.constraints.NotEmpty javax.validation.constraints.NotEmpty
只不过前者被废弃了,后者还存在。 这就引出了开始的问题,其实 SpringBoot 2.3.0 并不是放弃了对 javax.validation
的支持,而是它默认不自带 spring-boot-starter-validation
相关的引用而已,毕竟 spring-boot-starter-validation
的 validation
要不是有点复杂的项目,很多人都想不起来要用一个验证包来解决下
if(username == null || "".equals(username)) { } else if ( username.length() < 6 ) { } else if ( .... ) { }
目前尚无回复