`

spring源码之—Assert.notNull

 
阅读更多
org.springframework.util.Assert

Assert翻译为中文为"断言".用过JUNIT的应该都知道这个概念了.
就是断定某一个实际的值就为自己预期想得到的,如果不一样就抛出异常.
Assert经常用于:

1.判断METHOD的参数是否属于正常值.
2.JUNIT中使用.

我发现spring1.2.6里面有BUG
请看:
org.springframework.core.io.support.EncodedResource中
public EncodedResource(Resource resource, String encoding) {
  Assert.notNull("Resource is required");
  this.resource = resource;
  this.encoding = encoding;
}

Assert.notNull("Resource is required");
这句应该为
Assert.notNull(resource,"Resource is required");
不然resource都没传过来,还断什么言啊,呵呵.

------------------------------------------------------------------------
上面是在网上看到了.

spring-core-3.2.4.RELEASE.jar的Assert.notNull源码,如下:
/**
* Assert that an object is not {@code null} .
* <pre class="code">Assert.notNull(clazz, "The class must not be null");</pre>
* @param object the object to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the object is {@code null}
*/
public static void notNull(Object object, String message) {
if (object == null) {
throw new IllegalArgumentException(message);
}
}
该函数的意思是传入的object必须不能为空。如果为空就抛出异常。
分享到:
评论

相关推荐

    assert.h头文件

    assert.h头文件下载

    ASSERT.H 需要的下载

    普通的头文件。名字叫做ASSERT.H。

    spring源代码

    Assert.assertEquals(1, resources.length); //只加载一个匹配的Resource,且通过ResourceLoader.getResource进行加载 resources = resolver.getResources("classpath:META-INF/*.LIST"); Assert.assertTrue...

    refute:[JavaScript] 反驳是“assert.not*”断言库

    refute 是“assert.not*”断言库。 它的灵感来自 。 安装 npm install --save-dev refute 用法 refute继承自 (Node's Assert)。 var assert = require("assert"); var refute = require("refute")(assert); ...

    Go语测试框架assert.zip

    Assert为Go语测试框架封装. 可以让我们熟悉的方式来写测试用例. 使用方式如下图: 标签:assert

    linux-assertshBash单元测试框架

    "assert.sh"是一个专为Bash脚本设计的单元测试框架,它允许开发者用一种结构化的方式来编写和执行测试,确保脚本的各个部分按预期工作。 **assert.sh框架的介绍** assert.sh是一个轻量级、易于使用的工具,它提供了...

    Assert.java

    适用于Java大部分非空判断,有效的减少空指针问题,直接调用Assert 里面的方法就行,非常方便,你值得拥有

    node-deep-equal, 节点算法的assert.deepEqual.zip

    node-deep-equal, 节点算法的assert.deepEqual 的深度相等节点的assert.deepEqual() algorithm 作为独立模块。这个 MODULE的速度比在 try/catch 中封装 assert.deepEqual() 快2 倍。 示例var equal

    assert.js:一个简单的javascript运行时断言库,专注于性能

    2. **丰富的断言方法**:除了基本的`assert.ok()`之外,`assert.js`还提供了多种断言方法,如`assert.equal()`, `assert.notEqual()`, `assert.deepEqual()`, `assert.ifError()`等,覆盖了各种比较需求。...

    assert.sh:针对外壳脚本用户的断言库

    压缩包中的`assert.sh-master`可能包含`assert.sh`库的源码和其他相关文件,如文档、示例脚本或测试用例。查看源码有助于理解每个断言函数的工作原理,并可根据需要自定义或扩展功能。 总的来说,`assert.sh`是...

    assert:将Node.js assert.js移植到浏览器

    assert.js 最新兼容版本: assert.js是浏览器的Node.js标准声明库的端口。 原始代码和测试来自Node.js,并已被修改为与浏览器兼容。 例如,您可以将其与一起使用,以同构方式(在服务器和客户端上)执行测试。 ...

    test-assert.rar_games_test assert

    标题中的“test-assert.rar_games_test assert”暗示了这是一个关于测试和断言的项目,可能与游戏开发或软件测试有关。描述中提到的“involving games with stdio and signals”表明这个项目涉及到使用标准输入输出...

    junit的jar包

    junit.framework.Assert.class junit.framework.AssertionFailedError.class junit.framework.ComparisonCompactor.class junit.framework.ComparisonFailure.class junit.framework.JUnit4TestAdapter.class junit....

    业务异常提示处理 springboot+Assert(自定义断言)

    本项目“业务异常提示处理 springboot+Assert(自定义断言)”着重于利用Spring Boot的特性来构建高效、易维护的业务逻辑,并通过自定义断言提升代码的可读性和可维护性。下面我们将详细探讨这些知识点。 1. **Spring...

    assert-callback:一个简单的库,允许您利用回调在异步函数中使用断言

    assert.notEqual(actual, expected, [message]) [X] ... assert.deepEqual(actual, expected, [message]) [X] ... assert.notDeepEqual(actual, expected, [message]) [X] ... assert.strictEqual(actual, expected...

    1-assert(断言).pdf

    10. `assert.notEqual(actual, expected[, message])`: 简单的不相等断言,使用`!=`运算符,与`equal`相反。 11. `assert.notStrictEqual(actual, expected[, message])`: 使用严格不相等(全不等运算符`!==`)比较...

    C标准库&lt;assert.h&gt;的实现详解

    C标准库中的`&lt;assert.h&gt;`头文件提供了一个名为`assert`的宏,用于在程序开发阶段进行调试。这个宏允许程序员在代码的关键位置插入断言,以确保特定条件始终为真。如果断言失败,即条件为假,`assert`会输出一条错误...

    assert.h

    assert.h

    SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h

    #include &lt;assert.h&gt; //包含断言的头文件 #include &lt;stdlib.h&gt; //包含增容等的头文件 typedef int SLDataType; //类型重命名 typedef struct SeqList { SLDataType* a; //定义一个指针变量为了接下来动态内存的...

Global site tag (gtag.js) - Google Analytics