問題描述
在網上找到如何使用@Valid注解后,就把用到的配置和jar包加上,然后測試發現一直不生效。下面是配置及解決方法
配置
1.引入依賴
2.添加相應的配置(springmvc配置文件)
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/> <mvc:annotation-driven validator="validator"/>
3.在需要校驗的實體類中加入注解(注解所屬包:javax.validation.constraints)
4.寫一個測試方法調用
運行之后發現BindingResult 一直是 0 errors
解決
檢查了好幾遍配置確定沒問題,所以就自己在一個最簡單的springMVC項目中寫一個進行測試,發現上面的配置是沒有問題的,打斷點到源碼中查看,發現沒有獲取到validator屬性。
於是猜測有可能是配置的位置順序導致的,所以就將配置的順序進行調整,最后發現只要放在 json解析的后面就會一直獲取不到值,放在前面就沒有問題,然后問題解決
(其實也試過把其他的一些配置文件注釋掉,最后無果。。。)
雖然找到了問題所在和解決方式,但是並不是很清楚為什么json解析這塊的配置會影響到validator的獲取問題
參考鏈接