在Java中,有多种方法可以实现参数校验。以下是一些常用的方法:
Java Bean Validation是一个Java规范,用于对Java Bean进行验证。它提供了一组注解和API,可以方便地对Java对象的属性进行校验。要使用Java Bean Validation,需要添加Hibernate Validator依赖。
Maven依赖:
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.2.0.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
使用示例:
import javax.validation.ConstraintViolationException;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
public class User {
@NotNull(message = "用户名不能为空")
private String username;
@NotNull(message = "年龄不能为空")
@Min(value = 18, message = "年龄必须大于等于18岁")
private Integer age;
// getter and setter methods
}
public class Main {
public static void main(String[] args) {
User user = new User();
user.setUsername(null);
user.setAge(15);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user);
if (!violations.isEmpty()) {
throw new ConstraintViolationException(violations);
}
}
}
Apache Commons Lang库提供了一些实用的工具类,其中Validate类可以用于参数校验。
Maven依赖:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
使用示例:
import org.apache.commons.lang3.Validate;
public class Main {
public static void main(String[] args) {
String username = null;
int age = 15;
Validate.notBlank(username, "用户名不能为空");
Validate.isTrue(age >= 18, "年龄必须大于等于18岁");
}
}
你还可以根据需要编写自定义的参数校验方法。
使用示例:
public class Main {
public static void main(String[] args) {
String username = null;
int age = 15;
validateParameters(username, age);
}
public static void validateParameters(String username, int age) {
if (username == null || username.trim().isEmpty()) {
throw new IllegalArgumentException("用户名不能为空");
}
if (age < 18) {
throw new IllegalArgumentException("年龄必须大于等于18岁");
}
}
}
这些方法可以根据实际需求进行选择和组合,以实现参数校验。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。