JSR303資料校驗及多環境切換

2022-09-10 02:36:14 字數 2647 閱讀 6515

1、使用jsr303驗證

springboot中可以用@validated來校驗資料,如果資料異常則會統一丟擲異常,方便異常中心統一處理。

我們這裡來寫個註解讓我們的name只能支援email格式

@component

@configurationproperties(prefix = "person")

@validated

public class person

執行結果 :default message [使用者名稱不是合法郵箱位址]

使用資料校驗,可以保證資料的正確性;

2、jsr303常見引數

@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 物件是否符合正規表示式的規則

.......等等

除此以外,我們還可以自定義一些資料校驗規則

profile是spring對不同環境提供不同配置功能的支援,可以通過啟用不同的環境版本,實現快速切換環境;

1、多環境配置

例如:

#比如在配置檔案中指定使用dev環境,我們可以通過設定不同的埠號進行測試;

#我們啟動springboot,就可以看到已經切換到dev下的配置了;

spring.profiles.active=dev

2、yaml的多文件快

和properties配置檔案中一樣,但是使用yml去實現不需要建立多個配置檔案,更加方便了 !

server:

port: 8081 #預設使用8081

#選擇要啟用那個環境塊

spring:

profiles:

active: prod

---server:

port: 8082

spring:

profiles: dev #配置環境的名稱

---server:

port: 8083

spring:

profiles: prod #配置環境的名稱

注意:如果yml和properties同時都配置了埠,並且沒有啟用其他環境 , 缺省會使用properties配置檔案的!3、配置檔案載入位置

外部載入配置檔案的方式十分多,我們選擇最常用的即可,在開發的資源檔案中進行配置!

官方外部配置檔案說明參考文件

優先順序1:專案路徑下的config資料夾配置檔案

優先順序2:專案路徑下配置檔案

優先順序3:資源(resources)路徑下的config資料夾配置檔案

優先順序4:資源(resources)路徑下配置檔案

優先順序由高到底,高優先順序的配置會覆蓋低優先順序的配置;

springboot會從這四個位置全部載入主配置檔案;互補配置;

我們在最低階的配置檔案中設定乙個專案訪問路徑的配置來測試互補問題;

#配置專案的訪問路徑

server.servlet.context-path=/dzj

4、拓展,運維小技巧

指定位置載入配置檔案

我們還可以通過spring.config.location來改變預設的配置檔案位置

專案打包好以後,我們可以使用命令列引數的形式,啟動專案的時候來指定配置檔案的新位置;這種情況,一般是後期運維做的多,相同配置,外部指定的配置檔案優先順序最高

多環境切換 JSR303資料校驗

springboot中 validated註解用於校驗資料 舉個例子 component 註冊bean configurationproperties prefix person validated 資料校驗 public class person 這時執行會出錯誤 常見的校驗還有 notnull ...

Springboot之Jsr303校驗及多環境配置

1.jsr303校驗 validated 開啟303校驗 email 驗證字段是否是郵箱 若email不可用在pom.xml中新增 org.springframework.boot spring boot starter validation 常用校驗註解 示例 結果 2.多環境配置 預設配置順序 ...

JSR303 資料校驗 和 順序校驗

jsr303 資料校驗 和 順序校驗 涉及到兩種註解 jsr303 中的註解如 notempty pattern length等 宣告使用校驗的註解。validated和 valid,乙個在順序校驗的時候用,乙個在普通校驗的時候用。除了springmvc還需要引入jar org.hibernate....