1猫胁、數(shù)據(jù)驗證
數(shù)據(jù)驗證應(yīng)該在任何需要做數(shù)據(jù)驗證的地方存在婉徘。spring設(shè)計了一個既方便又可以在所有層使用的validator接口堤框。
Validator接口實現(xiàn)的兩個方法:supports(class):判斷該validator是否能校驗提供的class實例
validate(object,errors):校驗給定的object,如果有校驗失敗信息就放入errors對象
2.springEL
springEL簡介:spring表達(dá)式語言梅屉,是一個支持查詢和操作運行時對象導(dǎo)航圖功能的強大的表達(dá)式語言届惋。能夠提供函數(shù)調(diào)用
用法:可以基于注解或者xml
格式:#{ }
(1)基于xml
(2)基于注解
springEL使用實例:
(1)方法
注:mathUtil:是自己創(chuàng)建的工具類里面有兩個方法
(2)構(gòu)造
注:默認(rèn)調(diào)用無參構(gòu)造
(3)操作符
(4)集合
支持對list嚷炉,map横蜒,properties等集合的操作蜡豹,還支持集合的選擇和投影谅阿。
springEL集合選擇
@Value("#{data.students.?[stuId>1]}")
private List subList;
@Value("#{data.map.?[key == '3']}")
private Map subMap;
@Value("#{data.students.?[stuId > 1].![stuName]}")
private List nameList;