断言

用spring的断言实现对service的参数验证

有些话、适合烂在心里 提交于 2019-12-20 17:03:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 通常service每个公开的方法,都要先验证传入的参数是否合法,如果参数的值不合法直接抛异常。举一个简单的例子:有一个根据username获取User的方法 getUser(String username); 为了安全性,这时方法的编写者通常会在方法体的最前面编写一段对入参进行检测的代码,如下所示: Java代码 public User getUser(String username) { if (username == null || username.trim().length() != 0) throw new IllegalArgumentException("username is invalid,invalid username:" + username); //.......省去 } 类似以上检测方法入参的代码是非常常见,但是在每个方法中都使用手工编写检测逻辑的方式并不是一个好主意,代码也不优雅!!!! spring提供了org.springframework.util.Assert通用类。可以满足大部分方法入参检测的要求。这些断言方法在入参不满足要求时就会抛出 IllegalArgumentException 使用 Assert 断言类可以简化方法入参检测的代码,如 getUser(String