【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:Usersufo.m2),然后找到repository目录,再找到org目录,在找到springframework目录,再找到spring-core目录,最后确定 5.3.9 目录,发现spring-core-5.3.9.jar就在其中。全路径是:C:Usersufo.m2 epositoryorgspringframeworkspring-core5.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

原文地址:https://www.cnblogs.com/heyang78/p/15345242.html