【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

 

posted @   逆火狂飙  阅读(3292)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2019-09-27 做一个把网页带出来的SpringBoot工程
2019-09-27 将一个SpringBoot工程打成jar包并在控制台执行起来
2019-09-27 Spring Boot Cli下载安装
2019-09-27 发布Rest风格的WebService的SpringBoot极简例子
2017-09-27 【高中数学/解析几何】若直线y=x+b与曲线y=3-根号下(4x-x^2)有公共点,求b的取值范围?
2013-09-27 perl install-module.pl DateTime 执行无效问题的解决
2013-09-27 在Linux上使用iptables命令开启对外访问的网络端口
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示