@Email註解報紅 是因爲新版本需要validation啓動器
解決方法:在pom.xml 加入下面依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
Springboot中可以用@validated來校驗數據,如果數據異常則會統一拋出異常,方便異常中心統一處理。我們這裏來寫個註解讓我們的name只能支持Email格式;
@Component //註冊bean
@ConfigurationProperties(prefix = "person")
@Validated //數據校驗
public class Person {
@Email(message="郵箱格式錯誤") //name必須是郵箱格式
private String name;
}
使用數據校驗,可以保證數據的正確性;
常見參數
@NotNull(message="名字不能爲空")
private String userName;
@Max(value=120,message="年齡最大不能查過120")
private int age;
@Email(message="郵箱格式錯誤")
private String email;
空檢查
@Null 驗證對象是否爲null
@NotNull 驗證對象是否不爲null, 無法查檢長度爲0的字符串
@NotBlank 檢查約束字符串是不是Null還有被Trim的長度是否大於0,只對字符串,且會去掉前後空格.
@NotEmpty 檢查約束元素是否爲NULL或者是EMPTY.
Booelan檢查
@AssertTrue 驗證 Boolean 對象是否爲 true
@AssertFalse 驗證 Boolean 對象是否爲 false
長度檢查
@Size(min=, max=) 驗證對象(Array,Collection,Map,String)長度是否在給定的範圍之內
@Length(min=, max=) string is between min and max included.
日期檢查
@Past 驗證 Date 和 Calendar 對象是否在當前時間之前
@Future 驗證 Date 和 Calendar 對象是否在當前時間之後
@Pattern 驗證 String 對象是否符合正則表達式的規則
.......等等
除此以外,我們還可以自定義一些數據校驗規則