`
dick1305
  • 浏览: 17685 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring的Assert工具类的用法【转载】

阅读更多
转载自http://blog.csdn.net/StayHungry2016/article/details/54574526
Assert断言工具类,通常用于数据合法性检查,在JAVA编程中,通常会编写如下代码:
   if (name == null || name.equls("")) { 
          逻辑处理
}  
在所有方法中都使用手工检测合法性的方式并不是太好,因为这样影响了代码的可读性,
若使用Assert工具类上面的代码可以简化为: 
Assert.hasText((name, "参数错误!");

这样可以大大增强代码的可读性,介绍一下Assert 类中的常用断言方法:

notNull(Object object, "object is required")                 -    对象非空 3hf 
isTrue(Object object, "object must be true")                 -    对象必须为true  
notEmpty(Collection collection, "collection must not be empty")          -    集合非空 
hasLength(String text, "text must be specified")                -    字符不为null且字符长度不为0  
hasText(String text, "text must not be empty")                  -     text 不为null且必须至少包含一个非空格的字符 
isInstanceOf(Class clazz, Object obj, "clazz must be of type [clazz]")         -    obj必须能被正确造型成为clazz 指定的类

   只记录这么多,具体自己去找spring的工具类(import org.springframework.util.Assert)
   留下个API地址,需要的自己去查阅API   http://www.apihome.cn/api/spring/Assert.html
Assert类具体实现部分:
/**
	 * @deprecated as of 4.3.7, in favor of {@link #doesNotContain(String, String, String)}
	 */
	@Deprecated
	public static void doesNotContain(String textToSearch, String substring) {
		doesNotContain(textToSearch, substring,
				"[Assertion failed] - this String argument must not contain the substring [" + substring + "]");
	}

	/**
	 * Assert that an array contains elements; that is, it must not be
	 * {@code null} and must contain at least one element.
	 * <pre class="code">Assert.notEmpty(array, "The array must contain elements");</pre>
	 * @param array the array to check
	 * @param message the exception message to use if the assertion fails
	 * @throws IllegalArgumentException if the object array is {@code null} or contains no elements
	 */
	public static void notEmpty(Object[] array, String message) {
		if (ObjectUtils.isEmpty(array)) {
			throw new IllegalArgumentException(message);
		}
	}

分享到:
评论

相关推荐

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

    在IT行业中,异常处理是系统稳定性和健壮性的重要组成部分,尤其是在使用Spring Boot进行Web开发时。本项目“业务异常提示处理 springboot+Assert(自定义断言)”着重于利用Spring Boot的特性来构建高效、易维护的...

    spring boot内置工具类

    在Spring Boot中,`Assert`工具类提供了一系列静态方法,如`notNull()`、`isNull()`、`isTrue()`等,用于进行数据合法性检查,确保程序运行时不会出现意外情况。例如,`notNull()`方法可以用来检查传入的对象是否为...

    java常用工具类整理

    4. org.springframework.util.xml.Assert 断言工具类,在我们的参数判断时应该经常使用,常用的方法有 assertNotNull()、assertEquals() 等。 5. org.springframework.util.xml.ClassUtils 用于 Class 的处理工具类...

    TestNG-Spring-Example

    首先,我们需要确保我们的开发环境中已经安装了TestNG和Spring框架,以及相关的构建工具,例如Maven或Gradle。 1. **集成TestNG和Spring**:在Spring应用中使用TestNG,我们需要在测试配置中声明TestNG测试监听器。...

    spring-test

    在Java开发领域,Spring框架无疑是最为广泛使用的轻量级框架之一,而Spring Test则是Spring框架的重要组成部分,它为开发者提供了强大的单元测试和集成测试工具。本文将深入探讨Spring Test的核心概念、功能以及实际...

    mybatis+spring+springtest

    3. **Spring Test**:使用@RunWith(SpringJUnit4ClassRunner.class)注解标记测试类,表明这是一个Spring测试。通过@ContextConfiguration注解指定上下文配置文件,Spring Test会加载这个配置文件,初始化应用上下文...

    spring集成TestNG与Mockito框架单元测试方法

    接着,你可以创建一个TestNG测试类,使用`@Test`注解定义测试方法。Spring与TestNG的集成通常通过`@ContextConfiguration`注解来加载Spring上下文: ```java import org.springframework.test.context....

    spring data elasticsearch

    通过 `BoolQueryBuilder` 和 `AggregationBuilders` 等工具类,可以构建出丰富的查询和聚合表达式。 ### 8. 分页与排序 在 Repository 方法中,可以使用 `Pageable` 参数来实现分页,使用 `Sort` 来指定排序规则。...

    spring4+JUnit简单测试

    同时,Spring4还支持注解驱动的配置,通过`@Configuration`注解标记类为配置类,并使用`@Component`、`@Service`、`@Repository`和`@Controller`等注解进行组件扫描。这种方式可以替代传统的XML配置,使代码更加简洁...

    Spring框架测试.zip

    在测试类中,我们可以使用JUnit的@Test注解来标识测试方法,并利用Hamcrest的Matchers进行断言。例如,如果我们有一个UserService类,我们可以编写一个测试方法来检查UserService的getUserById方法是否正确返回用户...

    Spring Boot中Controller间的调用

    本文将探讨两种在Spring Boot中实现Controller间调用的方法及其优缺点。 首先,我们可以使用`RestTemplate`来模拟远程调用。这是一种常见的HTTP客户端工具,允许Controller A通过HTTP请求访问Controller B。以下是...

    struts2_spring3.0_Junit4.7_Maven2.2.1_整合运行说明_培训.pdf )

    - 创建一个测试类,例如`LoginActionTest.java`,并使用JUnit的注解来定义测试方法: ```java import org.junit.Test; import static org.junit.Assert.*; public class LoginActionTest { @Test public ...

    spring测试例子

    通常,每个测试类都会有一个或多个测试方法,每个方法对应一个特定的测试场景。测试代码通常会遵循 Arrange-Act-Assert(AAA)模式,即先准备测试环境(Arrange),执行待测试的行为(Act),最后验证结果是否符合...

    Spring Boot中的单元测试.docx

    对于Controller层的测试,通常使用Spring Boot提供的`MockMvc`工具。`MockMvc`允许模拟HTTP请求,并检查控制器的响应。 在测试类中,首先需要初始化`MockMvc`实例: ```java private MockMvc mockMvc; @Autowired ...

    spring3学习笔记(2)-集成ibatis3进行单元测试

    4. 断言(Assertion):使用JUnit提供的assert方法,如assertEquals,assertNull等,来检查测试的结果是否符合预期。 5. 数据库初始化:在测试前,可能需要对数据库进行预设数据,以满足特定测试场景。可以使用诸如...

    spring+redis

    这通常通过日志分析或者使用数据库监控工具实现。 5. **标签“mysql-redis”**:这暗示了项目可能同时使用了MySQL作为主数据库,Redis作为缓存层。在高并发场景下,先尝试从Redis缓存中获取数据,如果未命中再查询...

    实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能

    对比两个实体类,可能涉及到对象的属性比较,例如使用Apache的EqualsBuilder和HashCodeBuilder来实现对象的equals()和hashCode()方法,以确保对象内容一致时返回相同的结果。此外,还可以使用Lombok库的@...

    Spring and iBATIS

    定义一个`UserDao`接口,并使用Spring的`SqlSessionTemplate`来调用iBATIS方法: ```java public interface UserDao { User selectUser(String name); } @Service public class UserDaoImpl implements UserDao {...

    Junit测试时所需要使用到的jar包

    这是JUnit的主要库文件,包含了JUnit框架的核心类和接口,如`@Test`注解、`Assert`类用于断言、`@RunWith`注解以指定测试运行器等。JUnit 4是目前广泛使用的版本,它提供了注解驱动的测试方式,使得测试代码更加简洁...

Global site tag (gtag.js) - Google Analytics