Spring validaton使用未遂之排查過程
1、測試用例debug會經(jīng)過我的validator而web controller的請求卻不經(jīng)過validator
方法:閱讀spring官方文檔,

Spring-9.jpeg
這部分之前讀過,發(fā)現(xiàn)該有的配置都已配置,需要引入的包也依賴了。。。所以就以為解決不了了。。。
但是?。。≡谶@一小結(jié)的結(jié)尾處?。?!看到了介個:

spring-mvc.jpeg
也是是spring mvc的配置講解部分,發(fā)現(xiàn)在spring mvc中需要使用@EnableWebMvc或者<mvc:annotation-driven>自動地注冊bean validation到Spring Mvc中作為全局的一個validator,當然需要在classpath中引入一個Bean Validation的提供者,比如Hibernate Validator等;
所以果斷在mvc配置中加入這些配置,之后就出現(xiàn)了后面的問題
2、log4j conflict

log4j.jpeg

log4j-level.jpeg
而lever=TRACE在log4j版本1.2.12之后才有,然后呢開始排查,先是在maven libraries中看到了log4j:1.2.9(可是我并沒有手動去引入這個依賴?。?,之后在maven dependencies diagram中,發(fā)現(xiàn)spring-data-redis和java-uuid-generator中都引入了這個版本的貴jar包,果斷exclude掉。重新debug,完美~
3、console
在2之后,發(fā)現(xiàn)之前console上的這個warning也伴隨逝去,啊!太天才~~~
log4j:WARN No appenders could be found for logger (com.alibaba.dubbo.common.logger.LoggerFactory).
log4j:WARN Please initialize the log4j system properly.
4、下面就是JSR-303build-in注解的使用,只需要注意在使用相應注解的地方加入@Valid,同時,一定要在對應的class前面加入@Valited注解。