转载自
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);
}
}
分享到:
相关推荐
在IT行业中,异常处理是系统稳定性和健壮性的重要组成部分,尤其是在使用Spring Boot进行Web开发时。本项目“业务异常提示处理 springboot+Assert(自定义断言)”着重于利用Spring Boot的特性来构建高效、易维护的...
在Spring Boot中,`Assert`工具类提供了一系列静态方法,如`notNull()`、`isNull()`、`isTrue()`等,用于进行数据合法性检查,确保程序运行时不会出现意外情况。例如,`notNull()`方法可以用来检查传入的对象是否为...
4. org.springframework.util.xml.Assert 断言工具类,在我们的参数判断时应该经常使用,常用的方法有 assertNotNull()、assertEquals() 等。 5. org.springframework.util.xml.ClassUtils 用于 Class 的处理工具类...
Spring Boot作为一个强大的Java应用开发框架,不仅简化了Spring应用的初始搭建以及开发过程,还内置了大量的工具类,极大地降低了开发者的编码负担。本文将对Spring Boot中内置的常用工具类进行深入探讨,帮助开发者...
首先,我们需要确保我们的开发环境中已经安装了TestNG和Spring框架,以及相关的构建工具,例如Maven或Gradle。 1. **集成TestNG和Spring**:在Spring应用中使用TestNG,我们需要在测试配置中声明TestNG测试监听器。...
在Java开发领域,Spring框架无疑是最为广泛使用的轻量级框架之一,而Spring Test则是Spring框架的重要组成部分,它为开发者提供了强大的单元测试和集成测试工具。本文将深入探讨Spring Test的核心概念、功能以及实际...
3. **Spring Test**:使用@RunWith(SpringJUnit4ClassRunner.class)注解标记测试类,表明这是一个Spring测试。通过@ContextConfiguration注解指定上下文配置文件,Spring Test会加载这个配置文件,初始化应用上下文...
接着,你可以创建一个TestNG测试类,使用`@Test`注解定义测试方法。Spring与TestNG的集成通常通过`@ContextConfiguration`注解来加载Spring上下文: ```java import org.springframework.test.context....
通过 `BoolQueryBuilder` 和 `AggregationBuilders` 等工具类,可以构建出丰富的查询和聚合表达式。 ### 8. 分页与排序 在 Repository 方法中,可以使用 `Pageable` 参数来实现分页,使用 `Sort` 来指定排序规则。...
同时,Spring4还支持注解驱动的配置,通过`@Configuration`注解标记类为配置类,并使用`@Component`、`@Service`、`@Repository`和`@Controller`等注解进行组件扫描。这种方式可以替代传统的XML配置,使代码更加简洁...
在测试类中,我们可以使用JUnit的@Test注解来标识测试方法,并利用Hamcrest的Matchers进行断言。例如,如果我们有一个UserService类,我们可以编写一个测试方法来检查UserService的getUserById方法是否正确返回用户...
本文将探讨两种在Spring Boot中实现Controller间调用的方法及其优缺点。 首先,我们可以使用`RestTemplate`来模拟远程调用。这是一种常见的HTTP客户端工具,允许Controller A通过HTTP请求访问Controller B。以下是...
- 创建一个测试类,例如`LoginActionTest.java`,并使用JUnit的注解来定义测试方法: ```java import org.junit.Test; import static org.junit.Assert.*; public class LoginActionTest { @Test public ...
通常,每个测试类都会有一个或多个测试方法,每个方法对应一个特定的测试场景。测试代码通常会遵循 Arrange-Act-Assert(AAA)模式,即先准备测试环境(Arrange),执行待测试的行为(Act),最后验证结果是否符合...
对于Controller层的测试,通常使用Spring Boot提供的`MockMvc`工具。`MockMvc`允许模拟HTTP请求,并检查控制器的响应。 在测试类中,首先需要初始化`MockMvc`实例: ```java private MockMvc mockMvc; @Autowired ...
4. 断言(Assertion):使用JUnit提供的assert方法,如assertEquals,assertNull等,来检查测试的结果是否符合预期。 5. 数据库初始化:在测试前,可能需要对数据库进行预设数据,以满足特定测试场景。可以使用诸如...
这通常通过日志分析或者使用数据库监控工具实现。 5. **标签“mysql-redis”**:这暗示了项目可能同时使用了MySQL作为主数据库,Redis作为缓存层。在高并发场景下,先尝试从Redis缓存中获取数据,如果未命中再查询...
对比两个实体类,可能涉及到对象的属性比较,例如使用Apache的EqualsBuilder和HashCodeBuilder来实现对象的equals()和hashCode()方法,以确保对象内容一致时返回相同的结果。此外,还可以使用Lombok库的@...
定义一个`UserDao`接口,并使用Spring的`SqlSessionTemplate`来调用iBATIS方法: ```java public interface UserDao { User selectUser(String name); } @Service public class UserDaoImpl implements UserDao {...