spring源码之—Assert.notNull()

    xiaoxiao2021-12-14  20

    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里面看了一下源码,如下: /** * Assert that an object is not <code>null</code> . * <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</code> */ public static void notNull(Object object, String message) { if (object == null) { throw new IllegalArgumentException(message); } } 该函数的意思是传入的object必须不能为空。如果为空就抛出异常。 项目中类似用到的如下: /** * 取得登录用户排班用户id,中文名 */ @Override @Transactional(readOnly=true) public Staff findByUserId(Long luid) { Assert.notNull(luid, "员工id不能为空"); return staffDao.findByUserId(luid); } 判断luid是否为空,如果为空的话,不执行下面那句代码;
    转载请注明原文地址: https://ju.6miu.com/read-964073.html

    最新回复(0)