问题
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
引入这个包发现@Validated注解无效。
检查
首先确定ValidationAutoConfiguration的加载情况。
发现是找不到“classpath:META-INF/services/javax.validation.spi.ValidationProvider”文件。
这是SPI机制的文件。
添加这个文件,提示没有实现类,看了下实现类不是这个类的子类。
那就清楚了,一定是实现变化了。
查到2.3.9版本用的是org.hibernate.validator:hibernate-validator:7.0.1.Final。
遂换成6.2.0.Final的。就正常了。
小结
springboot的测试工作不一定完美啊,不报错可能通过了测试,但是可能没有效果。