【Spring/Assert】在Maven項目中使用org.springframework.util.Assert


Assert絕對是一個令人眼睛一亮的類,它簡潔得以單行形式就完成了對象的校驗及不合規時拋出異常,具體做法如下:

        Object obj=null;
......
        Assert.notNull(obj, "對象不該為空而為空,故而拋出異常");

而執行結果是:

Exception in thread "main" java.lang.IllegalArgumentException: 對象不該為空而為空,故而拋出異常
    at org.springframework.util.Assert.notNull(Assert.java:201)
    at ufo.Test.main(Test.java:8)

這種做法顯然比常規的判空拋異常簡便,又比Optional實用。

Assert類的常用方法還有

Assert.hasText(String text, "text must not be empty") text 不為null且必須至少包含一個非空格的字符 
Assert.hasLength(String text, "text must be specified") 字符不為null且字符長度不為0
Assert.notEmpty(Collection collection, "collection must not be empty") 集合非空
Assert.isTrue(boolean value, "value must be true") 對象必須為true
Assert.isInstanceOf(Class type, Object obj, String message) 如果 obj 不能被正確造型為 clazz 指定的類將拋出異常
   

其余請大家補充。

這個類全路徑名是org.springframework.util.Assert,它在我的機器上位於spring-core-5.3.9.jar包中,即spring-core-[version].jar中。

要使用這個類,對於必然引入spring-core包的SpringBoot/SpringCloud程序來說,直接使用即可,但對於Maven工程,就需要引入spring-core的依賴了。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.hy</groupId>
  <artifactId>ufo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
      <dependencies>
 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.9</version> </dependency>

... </dependencies> </project>

我是怎么找到這個位置的呢?我是先找到本機上的.m2路徑(C:\Users\ufo\.m2),然后找到repository目錄,再找到org目錄,在找到springframework目錄,再找到spring-core目錄,最后確定 5.3.9 目錄,發現spring-core-5.3.9.jar就在其中。全路徑是:C:\Users\ufo\.m2\repository\org\springframework\spring-core\5.3.9

最后,5.3.9填到version節點里,spring-core填到artifactId里,org.springframework填到groupId里。

我們可以發現,對於.ms/repository里面的jar包,有着這樣的對應關系:

倒數第一層目錄 version
倒數第二層目錄 artifactId
repository到倒數第三層中間的路徑 groupId

最后,有了

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.3.9</version>
        </dependency>

這個依賴,Maven工程就能愉快的使用Assert類了。

END

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM